java BufferedReader/Writer

输入字符流的缓冲流:

字符流的体系;
----------| Reader 抽象类 , 所有输出字符流的基类。
---------------| FileReader 读取文件字符数据的输入字符流.
---------------| BufferedReader 该类出现的目的:提高读取文件字符数据的效率,对FileReader的功能进行了拓展---readLine()。

public class Demo1 {
    
    public static void main(String[] args) throws IOException {
//      readTest1();
        File file = new File("f:\\Demo1.java");
        //建立文件的输入通道。
        FileReader fileReader = new FileReader(file);
        
        String line = null;
        while((line=myReadLine(fileReader))!=null){
            System.out.println( line);
        }
    }
    
    //自己实现一个readLine方法。
    public static String myReadLine(FileReader fileReader) throws IOException{
        StringBuilder sb = new StringBuilder();
        int content = 0;
        while((content = fileReader.read())!=-1){
            if(content=='\r'){
                continue;
                
            }else if(content=='\n'){
                return sb.toString();
                
            }else{
                //正常的字符
                sb.append((char)content);
            }
        }
        return null;
    }

    //使用缓冲输入字符流读取。
    public static void readTest1() throws FileNotFoundException, IOException {
        File file = new File("f:\\a.txt");
        //建立文件的输入通道。
        FileReader fileReader = new FileReader(file);
        //缓冲输入字符流
        BufferedReader  bufferedReader = new BufferedReader(fileReader);
        //读取文件的数据
        String line = null;
        while((line = bufferedReader.readLine())!=null){
            System.out.println(Arrays.toString(line.getBytes())); 
        }
        //关闭资源
        bufferedReader.close();
    }

}

BufferedWriter 缓冲输出字符流

体系:
--------| Writer 抽象类 所有输出字符流的基类。
-----------| FileWriter 向文件输出数据的输出字符流.
-----------| BufferedWriter 缓冲输出字符流, 目的: 为了提高写文件数据的效率以及拓展FileWriter的功能。

public class Demo2 {
    
    public static void main(String[] args) throws IOException {
        //找到目标文件
        File  file = new File("f:\\a.txt");
        //建立数据输出通道
        FileWriter fileWriter = new FileWriter(file,true);
        //建立缓冲输出字符流
        BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
        //准备数据,把数据写出
        bufferedWriter.newLine();   //  bufferedWriter.write("\r\n");
        bufferedWriter.write("马上你们就要做练习了喔!");
        
        //刷新一个缓冲区
        bufferedWriter.close(); 
    }
}

你可能感兴趣的:(java BufferedReader/Writer)