File文件
File类处于java.io.File类中,其中的File对象用于表示硬盘上的一个文件或者文件夹,实际是代表了一个路径。
我们使用Java程序都只是单单控制自己定义的变量等,但我们还有可能直接去操作硬盘上的信息,因此我们就需要学习File类的使用。
使用File类获取文件信息
右键项目名,创建一个新文件夹file,在右键创建一个txt.txt文件
package com.tedu.file;
import java.io.File;
/**
* java.io.File
* File的每一个实例用于表示一个文件或目录
* 使用File可以:
* 1:访问其表示的文件或目录的属性(名字、大小等)
* 2:操作文件或目录(创建、删除)
* 3:访问一个目录中的文件信息
*
* @author Wildmess
*
*/
public class FileDemo {
public static void main(String[] args) {
/*
* 绝对路径
* 移植性差
* 相同操作相同需要路径存在,不同的就需要重新编码了(Linux和Windows)
*/
File file1 = new File("D:\\eclipse_workspace\\danei_learn\\file");
System.out.println("是否存在" + file1.exists());
/*
* 因此,一般我们都是使用相对路径
* 可以使用./开头表示当前项目
* 解决了绝对路径的移植问题
*/
File file2 = new File("./file");
System.out.println("是否存在" + file2.exists());
System.out.println("是否是文件" + file2.isFile());
System.out.println("是否文件夹" + file2.isDirectory());
System.out.println("文件名" + file2.getName());
System.out.println("文件大小(long字节):" + file2.length());
System.out.println("可读" + file2.canRead());
System.out.println("可写" + file2.canWrite());
System.out.println("是否为隐藏文件" + file2.isHidden() );
}
}
文件的创建
package com.tedu.file;
import java.io.File;
import java.io.IOException;
/**
* 创建新文件
* @author Wildmess
*
*/
public class CreateNewFileDemo {
public static void main(String[] args) {
/*
* 在文件夹file中创建文件test.txt
*/
File file = new File("./file/test.txt");
//判断文件是否存在
if(file.exists()) {
System.out.println("文件已存在!");
} else {
System.out.println("文件已创建!");
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
执行完后,找到指定文件夹file
右键,点击refresh,就可以看到文件夹中创建了新的文件test.txt
删除文件
package com.tedu.file;
import java.io.File;
import java.io.IOException;
/**
* 删除指定文件
* @author Wildmess
*
*/
public class DeleteFileDemo {
public static void main(String[] args) {
/*
* 在文件夹file中删除文件test.txt
*/
File file = new File("./file/test.txt");
//判断文件是否存在
if(file.exists()) {
System.out.println("文件已删除!");
file.delete();
} else {
System.out.println("文件不存在!");
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
同创建,在文件目录中可检查代码的运行情况。