字节流和字符流(BufferedReader类和BufferedWriter类)
一般情况下,为了提高字符文件读/写效率,通常需要为文件读/写器添加一个缓冲读/写器,分别为BufferedReader类和BufferedWriter类。
1:BufferedReader类
假如上面的例子使用的文件Student.txt是一个学生名单,每个名字占一行。如果我们想读取名字,那么每次必须读取一行,但FileReader类没有提供这种方法,所以必须把这个流(对象)再接到另一个流上,从后一个流中读取名单。java提供名为BufferedReader的类,主要是用来实现读取文件中的一个段落。其格式如下:
BufferedReader br=new BufferedReader(newFileReader(filename));
也可以改为以下形式:
FileReaderto file=new FileReader(filename);
BufferredReader br=new BufferedWriter(tofile);
在声明BufferedReader类对象后,就可以调用其readLine方法来读取文件中的数据。当读取到回车符(/n)是,就表示本次的读取结束,将所读到的内容以字符串数据的形式输入到程序中,下次读取从回车符后面的数据开始。当所有的数据内容都读取完后,返回值null。在完成文件数据的读取后,需要用close()方法关闭打开的文件。示例代码如下:
import java.io.*;
public class BufferedReaderDemo {
public static void main(String []args)throws IOException{
FileReader fr=new FileReader("student.txt");
BufferedReader br=new BufferedReader(newFileReader("Student.txt"));
String Strings = br.readLine();//创建变量S用于储存从文件中读到的第一行数据。
Object s = null;
while (s!=null){//判断s变量是否接受数据
System.out.print(s+"/n");
s=br.readLine();//读取下一行数据并储存到s中
}
br.close();//关闭流
} private static Reader newFileReader(String string) {
// TODO Auto-generated method stub
return null;
}
}
2:BufferedWriter类
类似的,可以将BufferedWriter流和FileWriter流连接在一起,然后使用BufferedWriter流将数据写到目的地,创建BufferedWriter类对象的格式如下:
BufferedWriter br=new BufferedWriter(newFileWriter(filename));
或者是
FileWriterfrom file=new FileWriter(filename);
BufferedWriter bw=new BufferedWriter(fromfile);
在声明BufferedWriter类的对象后,调用其newLine()方法来写入一个回车符。因为不同的操作系统平台,其回车符的表达方式不同,所以,可以使用newLine()方法直接产生系统声明的回车符,而不必在意其具体的表达方式。例如,下面的陈故乡创建一个文件student。txt并写入字符串和回车符。
示例代码如下:
import java.io.*;
public class BufferedWriterDemo {
public static void main(String[] args) throws IOException {
BufferedWriter bw = new BufferedWriter(newFileWriter("student.txt"));
bw.write("this is my student.txt");// 向文件中输入字符串
bw.newLine();// 换行
bw.write("xixi");// 想文件中写入内容
bw.close();
}
}
字节流和字符流(BufferedReader类和BufferedWriter类)的更多相关文章
- java-I/O File类(5)-Reader和Writer、OutputStreamWriter 、BufferedWriter、字节流和字符流的区别
标签: outputstreamwriterreader字符file方法 2015-05-14 23:06 469人阅读 评论(0) 收藏 举报 分类: 孙鑫-java基础(16) I-O(4 ...
- IO流(File类,IO流的分类,字节流和字符流,转换流,缓冲流,对象序列化)
1.File类 File类可以在程序中 操作文件和目录.File类是通过建立File类对象,在调用File类的对象来进行相关操作的. 示例: public class Demo01 { public ...
- 牛客网Java刷题知识点之输入流、输出流、字节流、字符流、字节流的抽象基类(InputStream、OutputStream)、字符流的抽象基类(Reader、Writer)、FileWriter、FileReader
不多说,直接上干货! IO流用来处理设备之间的数据传输. java对数据的操作是通过流的方式. java用于操作流的对象都在IO包中. IO流按操作数据分为两种:字节流和字符流. IO流按流向分为:输 ...
- java IO输入输出流中的各种字节流,字符流类
字节流字节流主要是操作byte类型数据,也byte数组为准,主要操作类就是·字节输出流:OutputStream·字节输入流:InputStream字符流在程序中一个字符等于2个字节,那么java提供 ...
- 字节流和字符流(InputStream类和OutputStream类)
java流包括字节流和字符流,字节流通过I/O设备以字节数据的方式读入,而字符流则是通过字节流读入数据转换成字符"流"的形式由用户驱使. InputStream是所有字节输入流的父 ...
- JAVA IO分析一:File类、字节流、字符流、字节字符转换流
因为工作事宜,又有一段时间没有写博客了,趁着今天不是很忙开始IO之路:IO往往是我们忽略但是却又非常重要的部分,在这个讲究人机交互体验的年代,IO问题渐渐成了核心问题. 一.File类 在讲解File ...
- JAVA之旅(二十五)——文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine
JAVA之旅(二十五)--文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine 我们继续IO上个篇 ...
- 关于Java的File类、字节流和字符流
一.File类: 在Windows下的路径分隔符(\)和在Linux下的路径分隔符(/)是不一样的,当直接使用绝对路径时,跨平台会报No Such file or diretory异常. File中还 ...
- JavaSE学习笔记(14)---File类和IO流(字节流和字符流)
JavaSE学习笔记(14)---File类和IO流(字节流和字符流) File类 概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. 构造方 ...
随机推荐
- iOS9 升级XCode7遇到的问题收集
开发环境运行 各位可能会觉得,笔者在此还要讲开发环境的运行,是不是多此一举.其实并非如此,综合笔者这几年iOS开发经验的总结,运行新版本,特别是测试版本的Xcode是一个需要格外小心的事情, ...
- RTC实时时钟
作者:宋老师,华清远见嵌入式学院讲师. 1.1 RTC介绍 在 一个嵌入式系统中,通常采用RTC 来提供可靠的系统时间,包括时分秒和年月日等,而且要求在系统处于关机状态下它也能够正常工作(通常采用后备 ...
- 索引器、哈希表Hashtabl、字典Dictionary(转)
一.索引器 索引器类似于属性,不同之处在于它们的get访问器采用参数.要声明类或结构上的索引器,使用this关键字. 示例: 索引器示例代码 /// <summary> /// 存储星 ...
- 终于懂浏览器里面的cookies和session了
在PHP开发中对比起Cookie,session 是存储在服务器端的会话,相对安全,并且不像 Cookie 那样有存储长度限制: (Php.Asp.Jsp)---: cookie(客户端)界面没有刷新 ...
- Rnadom Teams
Rnadom Teams 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.actioncid=88890#problem/B 题目: Descript ...
- 让wego微购购物分享系统采集拍拍数据功能之腾讯paipai功能采集插件
wego是一款很不错的导购系统,无论前后台设计风格和功能都还不错,可有时我们的确需要一些自定义的功能,毕竟万千世界,大家都做一样的东西,采集同样的数据,能不烦吗?哈哈,今天就奉献上一个wego拍拍采集 ...
- android-Intent and IntentFilter
一.Intent简介 Android使用Intent来封装程序的调用"意图",Activity.Service.BroadcastReceiver三种重要的组件都是依靠Intent ...
- HTML静态网页 图片热点、框架、表单
图片热点: 规划出图片上的一个区域,可以做出超链接,直接点击图片区域就可以完成跳转的效果. 示例: 网页划区: 在一个网页里,规划出一个区域用来展示另一个网页的内容. 示例: 框架: 1.frames ...
- Javascript学习总结
---恢复内容开始--- 浏览器对象树
- spring中schedule注解的使用
我们使用spring的注解 @Scheduled 执行定时任务 创建spring-task.xml 文件 <!---加入:xmlns:task="http://www.springfr ...