文件操作

File类

Java把文件和目录抽象成一个类File

构造方法

  1. File(File parent,String child);
  2. File(String pathname);
  3. File(String parent,String child);
  4. File(URI uri);
  5. File file = new File("F://file.txt");
  6. File file = new File("F:","file.txt");
  7. File file = new File(new File("F:"),"file.txt");

常用的API

  1. boolean canExecute();
  2. boolean canRead();
  3. boolean canWrite();
  4. boolean isFile();
  5. boolean isDirectory();
  6. String getPath();
  7. String getAbsolutePath();
  8. long lastModified();
  9. String getName();
  10. boolean isHidden();
  11. long length();
  12. boolean createNewFile();
  13. boolean mkdir();
  14. boolean mkdirs();
  15. boolean delete();
  16. boolean deleteOnExit();
  1. 如果文件属于新建文件,没有修改的话那么modified方法返回0。
  2. mkdir在父目录不存在的情况下会创建父目录。
  3. mkdirs在祖先目录不存在的情况下会一次创建祖先目录。
  4. getName会包括的扩展名。
  5. delete不能删除包含文件的目录,也就是说只能删除空目录。

IO

  1. 按流的方向分为:输入流输出流
  2. 按读写的单位分为:字节流字符流
  3. 按功能分为:基本流包装流

输入流

从程序的角度来说,输入流就是把文件内容输入到内存,再通过内存输出到屏幕上。输入流也叫,把文件内容读取到内存。

输出流

输出流就是把文件内容从内存输出到磁盘,输出流也叫,把内存中的内容写入磁盘。

字节流

字节流把内容按字节来进行读写,适合非文本内容,也叫万能流。字节流分为字节输入流和字节输出流,对应下面有文件字节输入流和文件字节输出流,读取中文字符可能会出现乱码。

字符流

字符流按字符来进行读写,适合文本文件(一个中文字符占用字节2-4)。字符流分为字符输入流和字符输出流,对应下面有文件字符输入流和文件字符输出流。

缓冲区