黑马程序员_IO流之字符流的学习
来源:互联网 发布:酷我音质知乎 编辑:程序博客网 时间:2024/05/22 00:17
---------------------- 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
- 黑马程序员_IO流之字符流的学习
- 黑马程序员_IO流之字符流
- 黑马程序员_IO流之字符流
- 黑马程序员_IO流-字符流的学习(一)
- 黑马程序员_IO流-字符流的学习(二)
- 黑马程序员_IO流的学习
- 黑马程序员_IO流字符流
- 黑马程序员_IO流字符流-缓冲区
- 黑马程序员_IO流的概述和字符流
- 黑马程序员_IO流-字符流的的缓冲区学习(三)
- 黑马程序员_考核技术日志2_IO篇之字符流的处理进程及字符流的缓冲区
- 黑马程序员_IO流
- 黑马程序员_IO流
- 黑马程序员_IO流
- 黑马程序员_IO流
- 黑马程序员_IO流
- 黑马程序员_IO流
- 黑马程序员_IO流
- 数据库之路(2)
- 【编程珠玑】第三章 数据决定程序结构
- 关于sprintf的多种用法
- Moving Tables(P1083)
- 管道流!
- 黑马程序员_IO流之字符流的学习
- sql 日期常用函数
- 打印流
- <jsp:include> 嵌套Servlet请求,导致Stream closed异常
- 对象的序列化!
- 我要用一生去珍藏《孙子兵法》!
- android横屏
- javascript根据不同类型的浏览器,获取其绝对路径,谷歌除外.
- Android 2D图形绘制 汇总