字符流/二进制

时间:2022-09-24 15:02:24

Reader/Writer(字符流的输入和输出流,只是相对于java文件而言)
 (1)能够用文本编辑器打开的文件,且不乱码就是字符文件可以用字符流操作
(2)而打开文件是乱码,则是字节文件。

字符输入流Reader(FileReader是它的子类)

  FileReader/BufferedReader类(都是Reader的子类)

Reader类一些常用的方法

  int b=fr.read();//读取一个字符

  int lenght=fr.read(char[]);//读取字符数组

  BufferedReader(字符输入缓冲流)
  BufferedReader br =new
  BufferedReader(new FileReader("文件路径"));
  String str = br.readLine();//读取一个字符

示例代码

BufferedReader dr=new BufferedReader(new FileReader("文件路径"));

String str;

while((str=br.readLine)!=null){

System.out.println(str);

}

br.close();

Writer类一些常用的方法(FileWrite是它的子类)
  fw.write(char);//写一个字符
  fw.write(char []);//写一个数组

  
  BufferedWriter(字符输出缓冲流)
  BufferedWriter bw =new BufferedWriter(new FileWriter("文件路径"));
  bw.writer(字符串);
  缓冲流不能单独存在

示例代码

private static void buWriter() throws Exception {
Scanner input=new Scanner(System.in);
BufferedWriter bw=new BufferedWriter(new FileWriter("文件路径"));
bw.write("");
// bw.flush();
bw.close();//默认执行flush()方法,在关闭管道
}

二进制:

DataInputStream/DataOutputStream
示例代码:

//从一个文件夹移到另一个文件夹

  DataOutputStream out=new DataOutputStream(new FileOutputStream("文件路径"));
    int a;
    while((a=dis.read())!=-1){
    out.write(a);

  }
dis.close();
out.close();
}