包含java8csv的词条
今天给各位分享java8csv的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java将查询数据导出成csv文件的问题
- 2、java处理csv文件
- 3、java 读取csv文件里指定行列的值,比如读取第三行第二列的值。
- 4、java对操作csv文件
- 5、java UTF-8中文导出为csv文件直接打开后乱码
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的信息别忘了在本站进行查找喔。
发布于:2022-11-24,除非注明,否则均为
原创文章,转载请注明出处。