1、File类
用途:程序需要获取磁盘上文件的有关信息或在磁盘上创建新的文件时需要使用File类
注意:File类的对象主要用来获取文件本身的一些信息,如文件所在的目录、文件的长度、文件读写权限等,不涉及对文件的读写操作
创建一个FIle对象的构造方法有3个:
File(String filename);
File(String directoryPath , String filename);
File(File dir , String filename);
其中filename是文件名,directoryPath是文件的路径,dir是一个目录
使用File(String filename)创建文件时,该文件被认为与当前应用程序在同一目录中
2、目录
FIle对象调用方法public boolean mkdir() 创建一个目录,成功返回true,否则返回false (已经存在返回false)
3、文件字节输入流/文件字节输出流
使用FileInputStream类(FileOutputStream),该类是InputStream的子类(以字节为单位读取文件)
FileInputStream(String name);使用给定的文件名name创建FileInputStream流
FileInputStream(File file);使用FIle对象创建FileInputStream流
4、文件字符输入、输出流
文件字节输入、输出流的read和write方法使用字节数组读写数据,即以字节为单位处理数据。因此,字节流不能很好地操作Unicode字符,如一个汉字在文件中占用两个字节,如果使用字节流,读取不当 会出现乱码
与FileInputStream、FileOutputStream字节流相对应的是FileReader、FileWriter字符流,其分别又是Reader和Writer的子类
5、缓冲流
BufferedReader和BUfferedWriter类创建的对象称为缓冲输入、输出流(可以readLine())
6、随机流
RandomAccessFile类创建的流称作随机流,RandomAccessFile既不是InputStream类也不是OutputStream类
7、数组流
流的源和目的地除了可以是文件外,还可以是计算机内存
字节数组输入流ByteArrayInputStream和其字节数组输出流ByteArrayOutputStream分别使用字节数组作为流的源和目的地
8、数据流
DataInputStream和DataOutputStream类创建的对象称为数据流和数据输出流。
它们允许程序按着机器无关的风格读取Java原始数据,也就是说,当读取一个数据时,不必再关心这个数值应当是多少个字节
9、对象流
ObjectInputStream和ObjectOutputStream类分别是InputStream和OutputStream类的子类
对象输出流使用writeObject(Object obj)方法将一个对象obj写入到一个文件
对象输入流使用readObject()读取一个对象到程序中