详解Java_BufferedReader_读写csv文件

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();
	}
}

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值