【Java菜鸟 03】InputStreamReader 和BufferedReader
来源:互联网 发布:建阿里云网站视频教程 编辑:程序博客网 时间:2024/04/28 03:45
1、BufferedReaderDemo.java
package org.algorithm;import java.io.*;/* * (为了读取) * public class BufferedReader extends Reader * * 从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高校读取; * 可以指定缓冲区的大小,或者可使用默认的大小。 * * BufferedReader 流能够读取文本行 , 通过向 BufferedReader 传递一个 Reader 对象 , * 来创建一个 BufferedReader 对象 , 之所以这样做是因为 FileReader 没有提供读取文本行的功能 . * */public class BufferedReaderDemo { /* * InputStreamReader 和 BufferedReader 的区别 * */ public static void main(String[] args) throws IOException {//throws IOException抛出异常 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); System.out.println("请输入一些列文字,可包括空格:"); String text = bufferedReader.readLine(); System.out.println("请输入文字:"+text); } /* * throws IOException 抛出异常 * * InputStreamReader 是字节流通向字符流的桥梁 * */}
2、InputStreamReaderDemo.java
package org.algorithm;import java.io.*;/* * (为了输入) * * InputStreamReader:将字节流转换成字符流,是字节流向字符流转换的桥梁。 * 由于文本文件中存放的都是字节流,而程序中需要的是字符流,所以使用InputStreamReader来 * 将文本文件转换成字符流,有利于进一步的操作。 * * //构造一个默认编码集的InputStreamReader类 * InputStreamReader isr = new InputStreamReader(InputStream in); * * //构造一个指定编码集的InputStreamReader类 * InputStreamReader isr = new InputStreamReader(InputStream in,String charsetName); * * //读取键盘上的数据 * 参数 in对象通过 InputStream in = System.in; * * //读取文件中的数据 * 或者 InputStream in = new FileInputStream(String fileName); * 可以看出 FileInputStream 为InputStream的子类 * * //读取单个字符 * int read(); * * ;//将读取到的字符存到数组中。返回读取的字符数 * int read(char []cbuf); * * */class InputStreamReaderDemo { public static void transReadNoBuf() throws IOException { /** * 没有缓冲区,只能使用read()方法。 */ //读取字节流 //InputStream in = System.in;//读取键盘的输入。 InputStream in = new FileInputStream("D:\\demo.txt");//读取文件的数据。 //将字节流向字符流的转换。要启用从字节到字符的有效转换, //可以提前从底层流读取更多的字节. InputStreamReader isr = new InputStreamReader(in);//读取 //综合到一句。 //InputStreamReader isr = new InputStreamReader( //new FileInputStream("D:\\demo.txt")); char []cha = new char[1024]; int len = isr.read(cha); System.out.println(new String(cha,0,len)); isr.close(); } public static void transReadByBuf() throws IOException { /** * 使用缓冲区 可以使用缓冲区对象的 read() 和 readLine()方法。 */ //读取字节流 //InputStream in = System.in;//读取键盘上的数据 InputStream in = new FileInputStream("D:\\demo.txt");//读取文件上的数据。 //将字节流向字符流的转换。 InputStreamReader isr = new InputStreamReader(in);//读取 //创建字符流缓冲区 BufferedReader bufr = new BufferedReader(isr);//缓冲 //BufferedReader bufr = new BufferedReader( //new InputStreamReader(new FileInputStream("D:\\demo.txt")));可以综合到一句。 /*int ch =0; ch = bufr.read(); System.out.println((char)ch); */ String line; while((line = bufr.readLine())!=null){ System.out.println(line); } isr.close(); }}
3、Instance
package org.algorithm;import java.io.*;class UtilResource { private static void initializeResource() { try { //读取文件,并且以utf-8的形式写出去 BufferedReader bufread; String read; bufread = new BufferedReader(new InputStreamReader(new FileInputStream("e:\\input.txt"))); /* * FileInputStream("e:\\input.txt"): 用于输入文本文件 * * InputStreamReader(new FileInputStream("e:\\input.txt")): 用于将文本文件的字节流转换为字符流 * * BufferedReader(new InputStreamReader(new FileInputStream("e:\\input.txt"))):用于缓冲字符,便于高效读取 * */ while ((read = bufread.readLine()) != null) { System.out.println(read); } bufread.close(); } catch (FileNotFoundException ex) { ex.printStackTrace(); } catch (IOException ex) { ex.printStackTrace(); } } public static void main(String args[]){ initializeResource(); }}
0 0
- 【Java菜鸟 03】InputStreamReader 和BufferedReader
- 【Java菜鸟 01】InputStreamReader和BufferedReader用法
- Java 中BufferedReader 和 InputStreamReader
- Java中BufferedReader和InputStreamReader
- java BufferedReader和InputStreamReader的区别
- java BufferedReader和InputStreamReader的区别
- Java - 关于InputStream,InputStreamReader和BufferedReader
- 【Java基础】InputStream 、 InputStreamReader和BufferedReader
- 【Java基础】InputStream 、 InputStreamReader和BufferedReader
- 【Java基础】InputStream 、 InputStreamReader和BufferedReader
- 【Java基础】InputStream 、 InputStreamReader和BufferedReader
- InputStreamReader和BufferedReader用法
- InputStream 、 InputStreamReader和BufferedReader
- Java 中BufferedReader & InputStreamReader 用法
- Java 中BufferedReader & InputStreamReader 用法
- Java 中BufferedReader & InputStreamReader 用法
- Java 中BufferedReader & InputStreamReader 用法
- Java 中BufferedReader & InputStreamReader 用法
- Fragment向Activity传值
- 集成通讯录(第三方框架RHAddressBook)
- JAVA面试宝典3
- CentOS7 服务启动命令
- Qt 菜鸟的坑 QAbstractSocket::isValid()
- 【Java菜鸟 03】InputStreamReader 和BufferedReader
- 取整
- CF 597A Divisibility
- 【华为练习题】字符出现频率
- couldn't find "libvinit.so"
- lightoj Trailing Zeroes (III)
- linux rpm 批量 卸载 软件包
- Gym Class
- eclipse新手易犯错误, eclipse快捷键失效错误;