java IO流之BufferedReader和BufferedWriter[通俗易懂]

java IO流之BufferedReader和BufferedWriter[通俗易懂]笑霸能看懂的学习笔记

大家好,又见面了,我是你们的朋友全栈君。

前言
?作者简介:我是笑霸final,一名热爱技术的在校学生。
?个人主页:笑霸final的主页
?系列专栏::本文写在java专栏
?如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步?
?如果感觉博主的文章还不错的话,?点赞? + ?关注? + ?收藏?

一、简介:

BufferedReader 用于加快读取字符的速度, BufferedWriter 用于加快写入的速度 BufferedReader 和 BufferedWriter 类各拥有 8192 个字符的缓冲区。
属于字符流,按照字符读取数据的

二、使用BufferedReader案列

1.使用它读取文本文件,并显示在控制台
步骤;
1.创建读取的文件
2.创建BufferedReader
3.读取
4.关闭流

package com.xbfinal.day02;

import java.io.BufferedReader;
import java.io.FileReader;


/** *演示BufferedReader的使用 * */
public class BufferedReader_ { 
   
	public static void main(String[] args) throws Exception{ 
   
		
		//1.创建读取的文件
		String filePath="f:\.txt";
		//2.创建BufferedReader
		BufferedReader buf=new BufferedReader(new FileReader(filePath));
		//读取(其实底层是FileReader)
		String line;
		//按行读取文件,当返回null表示文件读取完毕
		while((line=buf.readLine())!=null) { 
   
			System.out.println(line);
		}
		//关闭流(本身应该关闭FileReader 但是实际上只需要关闭BufferedReader)
		buf.close();//底层会自动关闭节点流
		
	}

}

在这里插入图片描述

可见上面代码中文乱码了
bufferedReader会以系统默认的编码字符集获取文件内容。如果解析设置的编码字符集与系统默认编码字符集不一致,则会出现乱码问题。

BufferedReader 中文乱码解决方案解决方案;

BufferedReader buf=new BufferedReader(new FileReader(filePath));
换成
InputStreamReader isr = new InputStreamReader(new FileInputStream(filePath), "UTF-8");
		BufferedReader buf=new BufferedReader(isr);

效果:

package com.xbfinal.day02;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;


/** *演示BufferedReader的使用 * */
public class BufferedReader_ { 
   
	public static void main(String[] args) throws Exception{ 
   
		
		//1.创建读取的文件
		String filePath="f:\.txt";
		//2.创建BufferedReader
		InputStreamReader isr = new InputStreamReader(new FileInputStream(filePath), "UTF-8");
		BufferedReader buf=new BufferedReader(isr);
		//读取(其实底层是FileReader)
		String line;
		//按行读取文件,当返回null表示文件读取完毕
		while((line=buf.readLine())!=null) { 
   
			System.out.println(line);
		}
		//关闭流(本身应该关闭FileReader 但是实际上只需要关闭BufferedReader)
		buf.close();//底层会自动关闭节点流
		
	}

}

在这里插入图片描述

三、BufferedWriter使用案例

在这里插入图片描述

hello,笑霸final写入文件
步骤
1.文件写入的路径
2.创建对象
3.写入内容
4.关闭流对象

package com.xbfinal.day02;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

//演示BufferedWriter的使用

public class BufferedWriter_ { 
   
	public static void main(String[] args)throws IOException { 
   
		//文件写入的路径
		String filePath="f:\\xbfinal.txt";
		//准备写入的内容
		BufferedWriter buf=new BufferedWriter(new FileWriter(filePath));
		buf.write("hello,笑霸final");
		buf.newLine();//插入一个换行符;
		buf.write("hello1,笑霸final");
		buf.write("hello2,笑霸final");
		buf.close();
		
	}

}

在这里插入图片描述

追加代码
改动一个地方

BufferedWriter buf=new BufferedWriter(new FileWriter(filePath,true));

然后就能完成追加了
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137376.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • vim 设置搜索高亮_vim取消搜索后高亮持续

    vim 设置搜索高亮_vim取消搜索后高亮持续vim搜索设置高亮linuxvim打开文档搜索字符串时,设置被搜索到字符串高亮显示。有两种方法:1、临时设置:vim打开文档–>命令行形式输入sethlsearch。缺点:关闭文档后,下次打开,又需要重新设置一遍。2、永久设置(推荐):在~/.vimrc中配制vim~/.vimrc在文件中加上sethlsearch 然后保存退出便可。

  • Linux文本编辑器—vim详解

    Linux文本编辑器—vim详解本篇主要介绍Linux下文本编辑器vim的使用方法,以及sudo命令的实现。.

  • 在线H5页面生成器(持续更新中)

    在线H5页面生成器(持续更新中)1、关键词搜索wysiwyg,staticsitegenerator,h5creator,h5edtitor,h5maker2、原理讲解(重点)https://github.com/CntChen/cntchen.github.io/issues/15https://github.com/CntChen/cntchen.github.io/issues/17https…

  • 常量字符串过长的解决办法_jdbc编译异常

    常量字符串过长的解决办法_jdbc编译异常如果使用String str = “这是一个很长很长很长 你需要的字符串。”; 出现异常不能正常编译运行时,可以使用下方:StringBuilder sb = new StringBuilder();sb.append(“这是一个很长很长”);sb.append(“很长 你需要的字符串”);字符串太长或字符串其他情况下可使用 : StringBuilder sb = new StringBuilder()…

  • 操作系统概念第八章部分作业题答案

    操作系统概念第八章部分作业题答案题目一:试说明内部碎片和外部碎片之间的差别解答:内部碎片是指进程所分配的内存可能比进程所需要的大外部碎片是指由于进程的大小不一导致内存被分成小片段且不连续,造成空间浪费。题目二:考虑一个页表在内存中的内存分页系统:(1)如果内存访问的时间为200ns,试问访问页表中的一个数据需要多长时间?(2)如果增加TLB,其中90%的页引用被TLB命中,TLB的访问时间为10n…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号