File I/O 小结

1 .I/0: input/output

2.java.io.File

3 .表示:文件或者文件夹(目录)

4. File f = new File("文件路径");

5 .注意:相对路径:非web项目的相对都是以项目为起点.(src/a.txt)(建议)

6.       绝对路径:d:/bin/a.txt(以盘符开头)


7.文件常见方法
  boolean flag = f.exists();//文件是否存在
  flag = f.isFile();//是否是文件
  flag = f.isDirectory();//是否是目录
  str = f.getPath();//获得文件的相对路径
  str = f.getAbsolutePath();//获得文件的绝对路径
  str = f.getName(); //获得文件名
  flag = f.delete();//删除文件
  flag = f.createNameFile();//创建文件
  long = f.length();//返回文件长度
注意:Flie不能操作文件内容;


8.InputStream/OutputStream
  文件:FileInputStream/FileOutputStream

8.1 InputStream(输入流) :  数据从文件到java代码中
  int read(); //读取一个字节
  int read(byte[]);//读取一串字节
  long avaliable; //文件长度

8.2 FileInputStream(字节文件输入流)
  new FileInputSteam(File);
  new FileInputStream("文件路径+文件名");

8.3 OutputStream(输入流):  数据从java代码中,写到文件或者其他介质中
  void write(字节); //写入一个字节
  void write(byte[]); //写入字节数组

8.4 FileOutputStream
  new FileOutputStream(Flie);
  new FileOutputStream("文件路径+文件名");
  new FileOutputStream("文件路径+文件名",boolean);
注意:a.boolean:表示是否向文件末尾追加,如果是true,表示
    追加,false表示不追加(也就是覆盖).默认值为false
  b.创建FileOutputStream实例时
    如果相应的文件并不存在,则会自动创建一个空的文件

9.Reader/Writer(字符流)
  能够用文本编辑器打开的文件,不乱码就是字符文件。
  用文件编译器打开乱码的,就是字节文件

9.1 FileWriter

  fw.write(char);//写一个字符
  fw.write(char[]);//写字符数组

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


9.3 BufferedWriter(字符输出缓冲流)
  BufferedWriter bw = new
  BufferedWriter(new FileWriter("文件路径"));
  bw.writer(字符串);


10.DataInputStream/DataOutputStream

10.1读写字符文件
  BufferedReader br = new BufferedReader(new FileReader(文件));
  BufferedWriter bw = new BufferedWriter(new FileWriterr(文件,boolean));

10.2 读写字节文件
DataInputStream dis = new DataInputStream(new FileInputStream(文件));
DataOutputStream dos = new DataOutputStream(new FileOutputStream(文件));

10.3 读取整个字符文件

  String str = null;
  while((str=br.readLine()!=null)){
    System.out.print(str)

  }

10.4 读取整个字节文件
  int b;
  while((b=dis.read())!=-1){
    System.out.print(b)
  }

原文地址:https://www.cnblogs.com/linjiaxiaomeiainia/p/6835480.html