在Java中进行文件的读写,Java IO流是必备的知识。本章节主要为Java中的输入输出流的内容,包括文件编码、使用File类对文件和目录进行管理、字节流和字符流的基本操作,以及对象的序列化和反序列化的内容。
一.概述
java.io.File
类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。
二. File 类的使用
java.io.file类用于表示文件(目录)
查看API文档: File 实现了 Serializable 序列化接口
序列化作用:
• 提供一种简单又可扩展的对象保存恢复机制。
• 对于远程调用,能方便对对象进行编码和解码,就像实现对象直接传输。
• 可以将对象持久化到介质中,就像实现对象直接存储。
• 允许对象自定义外部存储的格式。
File类只用于表示文件(目录)的信息(名称、大小等),不用于文件内容的访问
下图为创建文件的简单案例:
public static void main(String[] args) throws Exception{
//创建文件
Scanner scanner = new Scanner(System.in);
System.out.println("请输入在创建的文件名: " );
String fileName = new Scanner(System.in).next();
File file2 = new File("D://tmp/java/"+fileName);
if (!file2.exists()){ //判断文件是否存在
boolean newfile = file2.createNewFile();
if (newfile){
System.out.println("创建成功");
}else{
System.out.println("创建失败");
}
}else{
System.out.println("文件已存在");
}
}
而删除文件的方式如下:
public static void main(String[] args) throws Exception{
String fileUrl = "D://tmp/java/index.docx";
File file= new File(fileUrl);
boolean directory = file.isDirectory();
System.out.println("是否为目录文件: " +directory);
boolean file1 = file.isFile();
System.out.println("是否为文件: "+file1);
//删除文件
boolean delate = file.delete();
System.out.println("删除文件"+fileUrl+"是否成功: "+delate);
}