Java.io 包下的File 类可以让你访问底层文件系统,通过File类,可以新建、删除和重命名文件和目录。
注意:File类不能访问文件内容本身,如果需要访问文件内容,需要使用输入(FileInputStream)、输出流(FileOutputStream) 。
1.实例化一个File 对象
File f = new File("E:/javaFile/create.txt");
f.createNewFile();
boolean fileExists = f.exists();
System.out.println("文件是否存在:" + fileExists);
在使用File 之前,必须实例化一个File对象,其中exists() 方法是检测相应的文件是否存在。createNewFile()
2. 文件长度
通过调用length() 方法可以获得文件的字节长度,如下所示:
File f = new File("E:/javaFile/create.txt");
long length = f.length();
System.out.println("文件长度:" + length);
3.创建临时文件
File tmpFile = File.createTempFile("aa", ".txt");
System.out.println("File path :" + tmpFile.getAbsolutePath());
tmpFile.deleteOnExit(); // 指定当JVM退出时删除该文件
Java.io.File.createTempFile(Stringprefix,String suffix) 方法自动创建在默认的临时文件中的空文件。
参数:
- prefix ---前缀字符串定义的文件名,必须至少有三个字符长。
- Suffix --后缀字符串定义文件的扩展名;如果为null后缀“.tmp”将被使用
返回值:
一个抽象路径名新创建的空文件
异常:
- IllegalArgumentException -- 如果前缀参数包含少于三个字符
- IOException -- 如果文件创建失败
- SecurityException -- 如果SecurityManager.checkWrite(java.lang.String)方法不允许创建一个文件
getAbsolutePath() 方法,获取文件的绝对路径
deleteOnExit 指定当JVM退出时删除该文件
4.重命名或移动文件
File file = new File("E:/javaFile/create.txt");
boolean sucess = file.renameTo((new File("E:/ZHY/new_input.txt")));
System.out.println("是否成功:" + sucess);
通过调用File 类中的renameTo()方法可以重命名(或者移动)文件
5.删除文件
File file = new File("E:/javaFile/create.txt");
boolean sucess = file.delete();
//boolean sucess = file.renameTo((new File("E:/ZHY/new_input.txt")));
System.out.println("是否成功:" + sucess);
通过调用delete() 方法可以删除文件。此方法与rename方法一样,返回布尔值表明是否成功删除文件
6.读取目录中的文件列表
String[] fileList = file.list();
System.out.println("====当前路径下所有文件和路径如下=====");
for(String fileName :fileList){
System.out.println(fileName);
}
File[] files = file.listFiles();
for(File f : files){
System.out.println(f);
}
通过调用list() 或者listFiles() 方法获取一个目录中的所有文件列表。List()方法返回当前File对象指向的目录中所有文件与目录的字符串名称。 listFiles()方法返回当前File对象指向的目录中所有文件与子目录相关联的File对象。