四、Java高级--10、buffer Reader读取文件,字节流转换字符流,打印流

  • 使用buffer Reader逐行读取文件
package javastudy;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.nio.Buffer;

public class Test18 {

    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        FileReader fr=new FileReader("E:\\反射笔记.txt");
        BufferedReader br=new BufferedReader(fr);
        String str="";
        int i=1;
        while((str=br.readLine())!=null){
            System.out.println(i+"\t"+str);
            i++;
        }
    }
}
执行结果
  • 字节流转换字符流
package javastudy;

import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.nio.Buffer;

public class Test18 {

    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        FileOutputStream fos=new FileOutputStream("E:\\test.txt");
        //使用字节流
        String str="你好,中国!";
        fos.write(str.getBytes());//不转换,只能使用字节型的数组,
        //将字节转换为字符,可以直接输入字符串
        OutputStreamWriter osw=new OutputStreamWriter(fos);//将其转换为writer,即fos(字节流)转为了字符流
        osw.write("hello,BeiJing!"); 
        osw.close();//注意close顺序
        fos.close();
        
    }
}
执行结果
  • 打印流,PrintStream、PrintWriter打印输出的方式,写入文件中
    使用print流而不使用write,尝试一下
    PrintStream打印流写入文件
package javastudy;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;

public class Test19 {

    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        FileOutputStream fos=new FileOutputStream("E:\\print.txt");
        PrintStream ps=new PrintStream(fos);
        ps.println("print流测试1");
        ps.close();
        fos.close();
    }
}
执行结果

PrintWriter流写入文件

package javastudy;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintStream;
import java.io.PrintWriter;

public class Test19 {

    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        FileWriter fw=new FileWriter("E:\\print2.txt");
        PrintWriter pw=new PrintWriter(fw);
        pw.println("print流测试2");
        pw.close();
        fw.close();
    }
}
执行结果

你可能感兴趣的:(四、Java高级--10、buffer Reader读取文件,字节流转换字符流,打印流)