BufferedReader字节缓冲输入流

BufferedReader字节缓冲输入流

  继承父类的方法:

    int read() 读取单个字符并返回

    int read (char【】 huf)一次读取多个字符,将字符读入数组

    void close 关闭该流并释放与之关联的所有资源

  构造方法:

    BufferedReader(Reader in)创建一个使用默认大小输入缓冲区的缓冲字符输入流

    BufferedReader(Reader in int sz) 创建一个使用指定大小输入流缓冲区字符输入流

 参数:

    Reader in :字符输入流

     我们可以传递FileReader,缓冲流会给FileReader增加了一个缓冲区,提高FileReader的读取效率

    特有成员方法:

      String ReadLine() 读取一个文行

    使用步骤:

      1,创建字符缓冲输入流对象,构造方法中传递字符输出流

      2,调用字符缓冲流入中的方法read/readline,读取文本

      3,释放资源:

    案例:

  

    public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new FileReader("aa.txt"));
int len =0;
while ((len=reader.read())!=-1){
System.out.println((char) len);
}
reader.close();

}
}

对文本的内容排序

    练习:

      对文本内容进行排序

      按照(123)排序

    分析:

      1,创建以恶搞HashMap集合对象,可以:存储每行文本的序号(1,2,3,4);value:存储每行的文本  

      2,创建字符缓冲输入流对象,构造方法中绑定字符输入流

      3,创建字符缓冲流出流对象,构造方法中绑定字符输出流

      4,使用字符缓冲出任流中的方法readline,逐行读取文本

      5,对读取到文本进行切割,获取行中的序号和文本内容

      6,把切割好的序号和文本的内存存储到HashMap集合中(Key序号有序的,会自动排序1,2,3...)

      7,遍历HashMap集合,获取每个一个键值对

      8,把每一个键值对,拼接为一个文本行

      9,把拼接好的文本,使用字符缓冲流输出流中的方法writer写入文本中

  案例:

    

public class Wenbenpaixu {
/**
* 1,创建以恶搞HashMap集合对象,可以:存储每行文本的序号(1,2,3,4);value:存储每行的文本  
*       2,创建字符缓冲输入流对象,构造方法中绑定字符输入流
*       3,创建字符缓冲流出流对象,构造方法中绑定字符输出流
*       4,使用字符缓冲出任流中的方法readline,逐行读取文本
*       5,对读取到文本进行切割,获取行中的序号和文本内容
*       6,把切割好的序号和文本的内存存储到HashMap集合中(Key序号有序的,会自动排序1,2,3...)
*       7,遍历HashMap集合,获取每个一个键值对
*
*       8,把每一个键值对,拼接为一个文本行
*       9,把拼接好的文本,使用字符缓冲流输出流中的方法writer写入文本中
* @param args
* @throws FileNotFoundException
*/
public static void main(String[] args) throws IOException {
HashMap<String, String> map = new HashMap<>();
BufferedReader reader = new BufferedReader(new FileReader("aa.txt"));
BufferedWriter writer = new BufferedWriter(new FileWriter("bb.txt"));
String len ="";
while ((len=reader.readLine())!=null){
String[] arr = len.split("\\.");
map.put(arr[0],arr[1]);
}
for (String s : map.keySet()) {
String value =map.get(s);
len=s+"."+value;
writer.write(len);
writer.newLine();
}
writer.close();
reader.close();


}
}

        

posted @ 2022-07-20 20:58  一位程序袁  阅读(109)  评论(0编辑  收藏  举报