开启新篇章
File类
File类基础概念
- File类是Java.io包中的一个重要类;
- File类对象可以表示文件,还可以表示目录,在一个程序中一个File类对象可以代表一个文件或目录;
- File类对象可以对文件或目录的属性进行操作,如:文件名、最后修改日期、文件大小等;
- File类对象无法操作文件的具体数据,既不能直接对文件进行读写操作;
File类的构造方法
import java.io.File;
public class FileDemo {
public static void main(String[] args) {
/*
在E盘创建一个叫demo的.txt文件
括号里的是文件的路径
*/
File f=new File("E:\\demo.txt");
}
}
File类的常用方法
import java.io.File;
public class FileDemo {
public static void main(String[] args) {
/*
在E盘创建一个叫demo的.txt文件
括号里的是文件的路径
*/
File f=new File("E:\\demo1.txt");
boolean b=f.exists();//判断文件是否存在,存在返回true,否则false
System.out.println("文件存在情况:"+b);
boolean b1=f.isFile();//判断是否是文件夹,是返回true,否则false
System.out.println("判断是否为文件夹:"+b1);
boolean b2=f.isDirectory();//判断是否为目录,是true,否则false
System.out.println("判断是否为目录:"+b2);
String name=f.getName();//获得文件名称
System.out.println("文件名称:"+name);
long len=f.length();//获得文件长度(字节数) long型
System.out.println("文件长度:"+len);
boolean b3=f.delete();//删除文件
System.out.println("文件是否删除:"+b3);
}
}
输入流及输出流
输入输出(I/O)把电脑硬盘上的数据读到程序中,为输入,既input,进行数据的read操作;从程序往外部设备写数据,为输出,既outpu,进行write操作;
字节流与字符流
从数据流编码格式上分为:
字节流:以字节为单位读取,可以读取任意文件;
字符流:以字符为单位读取,只能读文本文件;
流按着数据传输方向分为:
输入流:外部设备往程序中读叫输入流;
输出流:程序往外部设备写叫输出流;
InputStream和OutputStream的子类都是字节流,可以读取二进制文件,主要处理音频、图片、歌曲;
Reader和Writer的子类都是字符流,主要处理字符和字符串,字符流处理单元为一个字符。字节流将读取到的字节数据去指定的编码表中获取对应文字字符。
字节流常用类
输入流:FileInputStream
输出流:FileOutputStream
字符流常用类
输入流:FileReader
输出流:FileWriter
输入输出字节流
InputStream的基本方法
OutputStream的基本方法
输入输出字符流
Reader 的基本方法
Writer 的基本方法
节点流与处理流
节点流中常用类
处理流中常用类
对象输入输出流--对象序列化
对象的寿命通常随着生成该对象的程序的终止而终止,有时候,可能需要将对象的状态保存下来,在需要的时候再将对象回复。
对象的输入输出流:
主要作用是用于对象信息的写入和读取。对象信息一旦写到文件上那么对象的信息就可以做到持久化了。
对象输出流:ObjectOutputStream
对象输入流:ObjectInputStream
在ObjectIntputStream中用readObject()方法可以直接读取一个对象,ObjectOutputStream中用writeObject()方法可以直接将对象保存到输出流中。
在idea中设置,在类中生成序列化id
进入setting->inspections->serialization issues->选择图中的选项