package test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
//author @ZoHing
public class readerWriterCsv {
public void fileReader() {
//先获取文件的路径,通过BufferedReader类去读该路径中的文件
File filePath = new File("E:\\Temp\\csvTemp.csv");
try{
//通过BufferedReader类新建字符输入流对象
BufferedReader readerStream = new BufferedReader(new FileReader(filePath));
String lineData = "";
//将文档的下一行数据赋值给lineData,并判断是否为空,若不为空则输出
//readLine()解释:
//读一行文字。换行符(“\n”)、回车(“\r”)、换行符后面紧跟换行符的回车符或到达文件末尾的任意一个都会将一行视为终止
//返回一个包含行内容的字符串,不包括任何行终止字符,如果在未读取任何字符的情况下到达流的结尾,则返回null
while ((lineData = readerStream.readLine()) != null){
System.out.println(lineData);
}
readerStream.close();
}catch (FileNotFoundException e){
System.out.println("没有找到指定文件");
}catch (IOException e){
System.out.println("文件读写出错");
}
}
public void fileWriter() {
File filePath = new File("E:\\\\Temp\\\\csvWriterTemp.csv");
try{
//新建一个字符输出流对象
BufferedWriter writeStream = new BufferedWriter(new FileWriter(filePath));
for(int i=1;i<=10;i++){
writeStream.write("新用户"+i+",男,"+(18+i)+"岁");
writeStream.newLine(); //换行
}
//使用缓冲区的刷新方法将数据刷到目的地中
writeStream.flush();
//关闭缓冲区,缓冲区没有调用系统底层资源,真正调用底层资源的是FileWriter对象,缓冲区仅仅是一个提高效率的作用
//因此,此处的close()方法关闭的是被缓存的流对象
writeStream.close();
}catch (FileNotFoundException e){
System.out.println("没有找到指定文件");
}catch (IOException e){
System.out.println("文件读写出错");
}
}
public static void main(String[] args) {
readerWriterCsv readercsv = new readerWriterCsv();
readercsv.fileReader();
readercsv.fileWriter();
}
}
详解Java_BufferedReader_读写csv文件
最新推荐文章于 2023-03-22 19:59:44 发布