本人因为业务需要,需要对csv类的数据文件进行处理,下面就直接上一下代码,希望能帮到各位;

读取csv文件

import java.io.BufferedReader;
import java.io.File;


String path = "";//文件路径
File file = new File(path);//获取文件,可以判断一下文件是否存在
if(!file.exists()) {
    System.out.println("文件不存在");
	return ;
}

try{
    BufferedReader br = new BufferedReader(new FileReader(path));//定义流对象,path是你的文件路径;
    String line = ""; //定义字符串对象用来获取文件内容每一行文件;
    while ((line = br.readLine()) != null) {
    System.out.println(line);//输出文件每一行内容
        ……//可以进行其他操作;
    }
} catch (IOException e) {
			e.printStackTrace();
}

过程很简单:

1.就是根据提供的文件路径判断文件是否存在;

2.如果存在开始用流读取文件内容;

3.读取到文件内容之后就开始处理相应的数据;

写入文件

import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.util.ArrayList;

String finishFilePath = "F:\\XXXX\\XXXX;//设定输出文件路径
File outFile = new File(finishFilePath)+".csv");//创建新文件
List<String> outString = new ArrayList<>();//定义字符串集合

outString.add("你好我是机器人!");//设定集合内容

//输出到文件相关字段
FileOutputStream out=null;
OutputStreamWriter osw=null;

try{
    
	out = new FileOutputStream(outFile);
	osw = new OutputStreamWriter(out, "utf-8");
    if(outString!=null && !outString.isEmpty()){
	   for(String data : outString){
	       System.err.println(data);//输出内容
	       osw.write(data+"\r\n");//写入到文件;
	   }
	 }
//写入完毕关闭流
     osw.flush();
	 out.close();
	 osw.close();
}catch (IOException e) {
			e.printStackTrace();
}

整体流程就是:

1.创建文件输出流;

2.然后将想写入文件的内容放到集合里面;

3.循环集合,然后用流写入到指定的文件夹;

4.最后关闭流就完成了;

以上就是代码和流程,有问题随时留言欢迎讨论