Java 读写文件操作(BufferedReader和BufferedWriter)

2022-06-29 13:48:18

Java读文件操作可以用FileReader或BufferedReader,写文件操作用FileWriter或BufferedWriter。在实际操作中,经常使用BufferedReader和BufferedWriter来进行读写操作,所以只介绍BufferedReader和BufferedWriter的简单使用方法。

导包快捷键:Ctrl + shift + o 导包

BufferedWriter和BufferedReade使用方法

BufferedWriter提供了一种新的换行方法
public void newLine()
要追加写入:
将FileWriter fw = new FileWriter(“file03.txt”);
改为FileWriter fw = new FileWriter(“file03.txt”,true);//追加写入

publicstaticvoidmain(String[] args)throws IOException{//首先创建一个普通的FileWriter对象,如果file03.txt这个文件没有创建就会自动创建
		FileWriter fw=newFileWriter("file03.txt");//将这个普通的FileWriter对象传递给BufferedWriter构造方法即可
		BufferedWriter bw=newBufferedWriter(fw);//后面bw的时候和fw没有区别
		bw.write("古力娜扎");
		bw.newLine();//自动根据操作系统选择换行符
		bw.write("马尔扎哈");//关闭流
		bw.close();}

BufferedReader提供了一个额外的方法,可以读取一整行字符串:
public String readLine(): 读取一整行字符串,返回值当中不包括换行符

publicstaticvoidmain(String[] args)throws IOException{//首先创建一个普通的FileReader对象
		FileReader fr=newFileReader("file03.txt");//将其包装为BufferedReader
		BufferedReader br=newBufferedReader(fr);//读取单个字符int ch;//代表单个字符while((ch= br.read())!=-1){
			System.out.println((char)ch);}//读取多个字符,就是从8192的缓冲区中取出多个字符//注意(换行符也算字符)char[] buf=newchar[3];//一次取出3个字符int len;//代表有效个数while((len= br.read(buf))!=-1){
			String str=newString(buf,0, len);
			System.out.println(str);}//String line = br.readLine();//读取一整行字符串
		String line;//代表一整行字符串//按行读取整篇文章的内容while((line= br.readLine())!= null){
			System.out.println(line);}
		br.close();}

简单的例子

定义一个集合用于存储多个字符串 ,向其中添加一些字符串,然后将其写进文件中,要求每个字符串独占一行,再将文件中的字符串读到集合中,每一行为一个字符串元素。
步骤:

  1. 定义一个集合,创建一个ArrayList,用来存储多个字符串,也就是泛型是
  2. 向集合中添加字符串就是调用方法:add
  3. 写文件:FileWriter或BufferedWriter方法
  4. 每一个字符串要求占一行,使用newLine方法
  5. 关闭流
  6. 定义一个集合存放读取到的字符串:ArrayList
  7. 读文件 FileReader BufferedReader
  8. 读取一行:newLine
  9. 将读取到的字符串添到集合中:add
  10. 循环读取到null停止
  11. 关闭流
  12. 遍历最后得到的集合
publicstaticvoidmain(String[] args)throws IOException{
		ArrayList<String> list1=newArrayList<>();//创建集合
		list1.add("迪丽热巴");
		list1.add("古力娜扎");
		list1.add("马尔扎哈");
		BufferedWriter bw=newBufferedWriter(newFileWriter("t1.txt"));//遍历集合for(int i=0; i< list1.size(); i++){
			String a= list1.get(i);//获取当前字符串
			bw.write(a);
			bw.newLine();//换行}
		bw.close();//关闭流
		ArrayList<String> list2=newArrayList<>();
		BufferedReader br=newBufferedReader(newFileReader("t1.txt"));
		String line;//代表一整行字符串while((line= br.readLine())!= null){
			list2.add(line);//将读取到的字符串添加到集合中}
		br.close();for(int i=0; i< list2.size(); i++){
			System.out.println(list2.get(i));}}
  • 作者:来自地狱的皮卡丘
  • 原文链接:https://blog.csdn.net/weixin_43139592/article/details/105283446
    更新时间:2022-06-29 13:48:18