黑马程序员_IO流之字符流的学习
2012-05-12 13:25
232 查看
---------------------- android培训、java培训、期待与您交流! ----------------------一.字符流
1.什么是字符流为什么使用字符流
用字节流读写字符数据时需要人工编码非常麻烦
使用字符流可以自动编码读取的时候自己解读取到字符写出的时候直接写出字符
通常在需要读写字符数据的时候都是用字符流来操作的
2.InputStreamReader
当创建一个字符节入流的时候读取字符数据需要人工编码非常麻烦我们可以使用InputStreamReader从一个字节流中读取字符数据
代码示例:
InputStreamReader in=new InputStreamReader(new FileInputStream("1.txt"));
int len=0;
while((len=in.read())!=-1){
System.out.println((char)len);
}
in.close();
使用构造函数InputStreamReader(InputStream)来包装一个字节输入流然后 调用使用InputStreamReader对象调用read()方法直接读取字符
如果需要制定码表可以使用InputStreamReader(InputStream InputStream对象,"码表类型")
3.OutPutStreamWriter
当我们创建了一个字节输出流的时候需要人工编码 很麻烦我们现在可以使用OutPutStreamWriter想一个字节流中写出字符数据.
代码示例:
Reader r=new InputStreamReader(new FileInputStream("1.txt"));
OutputStreamWriter writer=new OutputStreamWriter(new FileOutputStream("2.txt"));
int len=0;
writer.write("我是中国人");
while((len=r.read())!=-1){
writer.write((char)len);
}
r.close();
writer.close();
使用构造方法OutPutStreamWriter(OutPutStream OutPutStream对象)包装一个字节输出流调用writer(String)方法可以直接写出字符
如果需要制定码表可以使用OutPutStreamWriter(OutPutStream OutPutStream对象,“码表类型”)
4.FileReader是inputStreamReader的子类,如果读取一个平台默认的编码的文本就可以使用FileReader写法区别:
new FileReader("文件名");
new InputStreamReader(new FileInputStream("文件名"))
5FileWriter是OutputStreamWriter的子类如果想相处一个平台默认的编码的文本既可以使用FileWriter 写法区别:
new FileReader("文件名");
new OutPutStreamWriter(new FileOutputStream("文件名"));
代码示例:FileReader fr=new FileReader("1.txt");
int len=0;
while((len=fr.read())!=-1){
System.out.println((char)len);
}
fr.close();
6提高效率
逐个读写字符效率很低的,Reader和Writer都提供了对数组的操作
Reader可以使用reader(char[])的方式一次读取一批数据进入数组
Writer可以使用writer(char[])的方式一次写入数组中的一批数据
7.BufferedReader 和BufferedWriter
和BufferedInputStream与BufferedOutputStream类似,BufferedReader和BufferedWriter都是包装类 都提供了缓冲功能其中BufferedWriter提供了跨平台写出换行的功能
代码示例:
BufferedWriter bw=new BufferedWriter(new FileWriter("3.txt"));
BufferedReader br=new BufferedReader(new FileReader("1.txt"));
int len=0;
while((len=br.read())!=-1){
bw.write((char)len);//这里char加不加饿的没区别
}
br.close();
bw.close();
8.LineNumberReader
是BufferReader的子类,提供了统计行号的功能
getLineNumber()方法获取当前的行号
setLineNumber(int)方法可以设置行号
示例代码:
LineNumberReader lr=new LineNumberReader(new FileReader("1.txt"));
lr.setLineNumber(100);//设置100为为起始行号
String line;
while((line=lr.readLine())!=null){
System.out.println(lr.getLineNumber()+" : "+line);
}
lr.close();----------------------
android培训、java培训、期待与您交流! ---------------------- 详细请查看:http://edu.csdn.net/heima
1.什么是字符流为什么使用字符流
用字节流读写字符数据时需要人工编码非常麻烦
使用字符流可以自动编码读取的时候自己解读取到字符写出的时候直接写出字符
通常在需要读写字符数据的时候都是用字符流来操作的
2.InputStreamReader
当创建一个字符节入流的时候读取字符数据需要人工编码非常麻烦我们可以使用InputStreamReader从一个字节流中读取字符数据
代码示例:
InputStreamReader in=new InputStreamReader(new FileInputStream("1.txt"));
int len=0;
while((len=in.read())!=-1){
System.out.println((char)len);
}
in.close();
使用构造函数InputStreamReader(InputStream)来包装一个字节输入流然后 调用使用InputStreamReader对象调用read()方法直接读取字符
如果需要制定码表可以使用InputStreamReader(InputStream InputStream对象,"码表类型")
3.OutPutStreamWriter
当我们创建了一个字节输出流的时候需要人工编码 很麻烦我们现在可以使用OutPutStreamWriter想一个字节流中写出字符数据.
代码示例:
Reader r=new InputStreamReader(new FileInputStream("1.txt"));
OutputStreamWriter writer=new OutputStreamWriter(new FileOutputStream("2.txt"));
int len=0;
writer.write("我是中国人");
while((len=r.read())!=-1){
writer.write((char)len);
}
r.close();
writer.close();
使用构造方法OutPutStreamWriter(OutPutStream OutPutStream对象)包装一个字节输出流调用writer(String)方法可以直接写出字符
如果需要制定码表可以使用OutPutStreamWriter(OutPutStream OutPutStream对象,“码表类型”)
4.FileReader是inputStreamReader的子类,如果读取一个平台默认的编码的文本就可以使用FileReader写法区别:
new FileReader("文件名");
new InputStreamReader(new FileInputStream("文件名"))
5FileWriter是OutputStreamWriter的子类如果想相处一个平台默认的编码的文本既可以使用FileWriter 写法区别:
new FileReader("文件名");
new OutPutStreamWriter(new FileOutputStream("文件名"));
代码示例:FileReader fr=new FileReader("1.txt");
int len=0;
while((len=fr.read())!=-1){
System.out.println((char)len);
}
fr.close();
6提高效率
逐个读写字符效率很低的,Reader和Writer都提供了对数组的操作
Reader可以使用reader(char[])的方式一次读取一批数据进入数组
Writer可以使用writer(char[])的方式一次写入数组中的一批数据
7.BufferedReader 和BufferedWriter
和BufferedInputStream与BufferedOutputStream类似,BufferedReader和BufferedWriter都是包装类 都提供了缓冲功能其中BufferedWriter提供了跨平台写出换行的功能
代码示例:
BufferedWriter bw=new BufferedWriter(new FileWriter("3.txt"));
BufferedReader br=new BufferedReader(new FileReader("1.txt"));
int len=0;
while((len=br.read())!=-1){
bw.write((char)len);//这里char加不加饿的没区别
}
br.close();
bw.close();
8.LineNumberReader
是BufferReader的子类,提供了统计行号的功能
getLineNumber()方法获取当前的行号
setLineNumber(int)方法可以设置行号
示例代码:
LineNumberReader lr=new LineNumberReader(new FileReader("1.txt"));
lr.setLineNumber(100);//设置100为为起始行号
String line;
while((line=lr.readLine())!=null){
System.out.println(lr.getLineNumber()+" : "+line);
}
lr.close();----------------------
android培训、java培训、期待与您交流! ---------------------- 详细请查看:http://edu.csdn.net/heima
相关文章推荐
- 黑马程序员--Java基础学习笔记【IO流-字符流】
- 黑马程序员_IO流-字符流的学习(一)
- 黑马程序员_IO流-字符流的学习(二)
- 黑马程序员_学习笔记:13) IO流: 字节流(InputStream、OutputStream)、字符流(Reader、Writer)、File类、递归
- 黑马程序员_基础_IO流学习笔记_文本文件读取及复制、字符流的缓冲区和装饰设计模式
- 黑马程序员------学习笔记(4)IO流中字符流操作
- 黑马程序员_学习笔记第17天——IO流、字符流
- 黑马程序员__关于学习IO流字符流的缓冲区总结
- 黑马程序员--Java学习日记之IO流(字符流和字节流)
- 黑马程序员 java学习笔记 Day5:IO流、字符流、字节流
- 黑马程序员--Java基础学习之IO流之字节流、字符流、读取写入文件、Copy文件、键盘输入输出、流操作的基本规律
- 黑马程序员——学习笔记09.Java_IO流
- 黑马程序员java学习笔记——IO流
- 黑马程序员--IO流之字符流
- 黑马程序员——Java基础——IO流(上)之字符流
- 黑马程序员_java基础学习笔记09_IO流
- 黑马程序员-7-java-IO流知识点串讲(1)-IO流概念及字符流Writer、Reader
- 黑马程序员--Java基础学习(其他对象和IO流)第十八天
- 黑马程序员----Java中的IO流学习笔记2
- 黑马程序员-java学习基础加强之IO流