文件流的基本类有四种:
- FileInputStream/FileOutputStream
- FileReader/FileWriter
一、File对象
文件流是一种节点流,它沟通程序与文件之间的数据传输。在Java中,文件被抽象为File。
我们通过File的构造器创建File对象,最常用的是通过文件路径字符串进行创建。
public class Main{ public static void main(String[] args){ // 将一个已经存在的,或者不存在的文件或者目录封装成file对象 File f = new File("/home/ubuntu/test/a.txt"); File dir = new File("/home/ubuntu/test"); } }
File类提供了很多对于文件或目录的操作。
- 获取文件的信息。文件名称,路径,文件大小,修改时间等等。
- 文件的创建和删除,目录的创建
- 文件设置权限(读,写,执行)
- ...
二、FileInputStream/FileOutputStream
FileInputStream和FileOutputStream是作用于文件的字节流。其实例连接了程序内存与文件对象,在构造流对象的时候需要指定文件对象。
// FileInputStream.java public class FileInputStream extends InputStream{ // 传入文件名作为参数 public FileInputStream(String name) throws FileNotFoundException { this(name != null ? new File(name) : null); } // 传入文件作为参数 public FileInputStream(File file) throws FileNotFoundException { String name = (file != null ? file.getPath() : null); SecurityManager security = System.getSecurityManager(); if (security != null) { security.checkRead(name); } if (name == null) { // 文件对象为空指针