包含java8csv的词条

博主:adminadmin 2022-11-24 13:45:07 52

今天给各位分享java8csv的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java将查询数据导出成csv文件的问题

解释:csv文件实际上就是字符串,之间用“,”进行分割,之后进行的存储。

工具类如下:

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStreamWriter;

import java.util.List;

/**

*

* CSV文件导出工具类

*/

public class CSVUtils {

/**

* CSV文件生成方法

* @param head

* @param dataList

* @param outPutPath

* @param filename

* @return

*/

public static File createCSVFile(ListObject head, ListListObject dataList,

String outPutPath, String filename) {

File csvFile = null;

BufferedWriter csvWtriter = null;

try {

csvFile = new File(outPutPath + File.separator + filename + ".csv");

File parent = csvFile.getParentFile();

if (parent != null !parent.exists()) {

parent.mkdirs();

}

csvFile.createNewFile();

// GB2312使正确读取分隔符","

csvWtriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(

csvFile), "GB2312"), 1024);

// 写入文件头部

writeRow(head, csvWtriter);

// 写入文件内容

for (ListObject row : dataList) {

writeRow(row, csvWtriter);

}

csvWtriter.flush();

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

csvWtriter.close();

} catch (IOException e) {

e.printStackTrace();

}

}

return csvFile;

}

/**

* 写一行数据方法

* @param row

* @param csvWriter

* @throws IOException

*/

private static void writeRow(ListObject row, BufferedWriter csvWriter) throws IOException {

// 写入文件头部

for (Object data : row) {

StringBuffer sb = new StringBuffer();

String rowStr = sb.append("\"").append(data).append("\",").toString();

csvWriter.write(rowStr);

}

csvWriter.newLine();

}

}

java处理csv文件

我来说一下大致的实现步骤,具体实现需要你自己去写了

1.检索数据,检索到的数据假定为一个list

2.你需要自己写一个objectToString之类的方法来把检索到的数据转化为一个String或StringBuffer,就是往各字段间插",",往个记录间插"\r\n",如此这类的转换,假定转换好的字符串为strResult.

3.然后用下面的代码写在后台来控制下载,文件名那里你可以把时间格式控制好,或者用前台传过来的参数做名字。

response.setContentType("application/download;charset=UTF-8");

response.setHeader("Content-disposition","attachment;filename=\"" +new Date()+".csv\"");

OutputStream o = response.getOutputStream();

byte b[] = strResult.getBytes();

try{

o.write(b);

}catch(IOException e){

e.printStackTrace();

}finally{

o.close();

}

java 读取csv文件里指定行列的值,比如读取第三行第二列的值。

java读取csv文件,按照指定格式:

import java.io.IOException;

import java.nio.charset.Charset;

import java.util.ArrayList;

import com.csvreader.CsvReader;

import com.csvreader.CsvWriter;

/**

* 读取CSV文件

* 所谓"CSV",是Comma Separated Value(逗号分隔值)的英文缩写,通常都是纯文本文件。

* 可以看成数据库程序与电子表格之间一种中间通信文件,数据库可以导出。csv格式,excel也可以导入并打开。csv文件,例子如下

* sj_mino1001.jpg,715282,4FB55FE8,

* sj_mino1002.jpg,471289,93203C5C,

* sj_mino1003.jpg,451929,C4E80467,

*

*/

public class CSVDeal{

public static void main(String[] args) {

try {

String[] stringList;

String csvFilePath = "C:\\Users\\Administrator\\Desktop\\20140227135936.csv";

String sourceFileString= "C:\\Users\\Administrator\\Desktop\\test.csv";

CsvReader reader = new CsvReader(csvFilePath); //默认是逗号分隔符,UTF-8编码

CsvWriter writer = new CsvWriter(sourceFileString);

/*

* readRecord()判断是否还有记录,getValues()读取当前记录,然后指针下移

*/

reader.readRecord();

writer.writeRecord(reader.getValues()); //读取表头

/*

* 逐行读取,以免文件太大

* 处理表头后面的数据,这里是在第12列数据统一加前缀"V"

*/

while(reader.readRecord()){

stringList = reader.getValues();

stringList[11] = 'V' + stringList[11];

writer.writeRecord(stringList);

}

reader.close();

writer.close();

}catch(Exception ex){

System.out.println(ex);

}

}

}

java对操作csv文件

java"importjava.io.BufferedReader;importjava.io.FileReader;publicclassTest{publicvoidtest(introw,intcol){try{BufferedReaderreader=newBufferedReader(newFileReader("C:\\a.csv"));//换成你的文件名//reader.readLine();//第一行信息,为标题信息,不用,如果需要,注释掉Stringline=null;intindex=0;while((line=reader.readLine())!=null){Stringitem[]=line.split("");//CSV格式文件为逗号分隔符文件,这里根据逗号切分if(index==row-1){if(item.length=col-1){Stringlast=item[col-1];//这就是你要的数据了System.out.println(last);}}//intvalue=Integer.parseInt(last);//如果是数值,可以转化为数值index++;}}catch(Exceptione){e.printStackTrace();}}/***@paramargs*/publicstaticvoidmain(String[]args){Testtest=newTest();test.test(3,2);}}你的数据格式有问题,空格的个数不确定,没法每行用空格分隔。以下是我调整后的数据格式每行的数据以一个空格分隔,test方法传入的参数一次是,行,列:1电机12WBS23PID34CP5社供出6原価実绩7社供WC8外注费9直材费10自家制品11直経费12その他13注残14注残

java UTF-8中文导出为csv文件直接打开后乱码

这种文件说白了就是

数据用,分隔符隔开。

出现乱码估计是你文档字符格式的问题。你转成utf-8就不会出错了。

java8csv的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、java8csv的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-24,除非注明,否则均为首码项目网原创文章,转载请注明出处。