一、文件
文件流:文件在程序中是以流的形式来操作的;
输入流:数据从数据源(文件)到程序(内存)的路径;
输出流:数据从程序(内存)到数据源(文件)的路径;
创建文件方法:
new File(String pathname)//根据路径构建一个File对象
new File(File parent,String child)//根据父目录文件+子路径创建
new File(String parent,String child)//根据父目录+子路径创建
例如:
public void creat01(){
String filePath="d:\\news1.txt";
File file = new File(filePath);//在Java程序中还只是创建一个对象
try {//异常处理
file.createNewFile();//执行createNewFile方法在磁盘创建改文件
System.out.println("文件创建成功");
} catch (IOException e) {
e.printStackTrace();
}
}
获取文件信息:
public void info() {
//先创建文件对象
File file = new File("d:\\news1.txt");
//调用相应的方法,得到对应信息
System.out.println("文件名字=" + file.getName());
System.out.println("文件绝对路径=" + file.getAbsolutePath());
System.out.println("文件父级目录=" + file.getParent());
System.out.println("文件大小(字节)=" + file.length());
System.out.println("文件是否存在=" + file.exists());//T
System.out.println("是不是一个文件=" + file.isFile());//T
System.out.println("是不是一个目录=" + file.isDirectory());//F
}
}
创建文件目录和删除文件:
file.mkdir()//创建一级目录
file.mkdirs()//创建多级目录
file.delete()//删除文件
二、IO流
Java程序中,对于数据的输入/输出操作以(流stream)的方式进行。
输入input:读取外部(磁盘...)数据到程序中。
输出output:将程序的数据输出到外部(磁盘)设备中。
流的分类:
按操作数据单位:字节流(8bit)二进制文件,字符流(字符)文本文件
按数据流的流向:输入流,输出流
按流的角色不同:节点流,处理流/包装流
IO流体系图:
继承图:
节点流和处理流:
对象流:
ObjectOutputStream提供序列化功能
ObjectInputStream提供反序列化功能
需要让某个对象支持序列化机制,则必须让其类是可序列化的,必须实现两个接口;
Serializable和 Externalizable
序列化:在保存数据时,保存数据的值和数据类型
反序列化:在恢复数据时,恢复数据的值和数据类型;
序列化注意:
例如:
标准流:
转换流:
打印流: