Java文件类以抽象的方式代表文件名和目录路径名。该类主要用于文件和目录的创建、文件的查找和文件的删除等。
File对象代表磁盘中实际存在的文件和目录。通过以下构造方法创建一个File对象。
通过给定的父抽象路径名和子路径名字符串创建一个新的File实例。
File(File parent, String child);
通过将给定路径名字符串转换成抽象路径名来创建一个新 File 实例。
File(String pathname)
根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例
File(String parent, String child)
通过将给定的 file: URI 转换成一个抽象路径名来创建一个新的 File 实例。
File(URI uri)
创建File对象成功后,可以使用以下列表中的方法操作文件。
序号 | 方法描述 |
1 | public String getName() 返回由此抽象路径名表示的文件或目录的名称。 |
2 | public String getParent()、 返回此抽象路径名的父路径名的路径名字符串,如果此路径名没有指定父目录,则返回 null 。 |
3 | public File getParentFile() 返回此抽象路径名的父路径名的抽象路径名,如果此路径名没有指定父目录,则返回 null 。 |
4 | public String getPath() 将此抽象路径名转换为一个路径名字符串。 |
5 | public boolean isAbsolute() 测试此抽象路径名是否为绝对路径名。 |
6 | public String getAbsolutePath() 返回抽象路径名的绝对路径名字符串。 |
7 | public boolean canRead() 测试应用程序是否可以读取此抽象路径名表示的文件。 |
8 | public boolean canWrite() 测试应用程序是否可以修改此抽象路径名表示的文件。 |
9 | public boolean exists() 测试此抽象路径名表示的文件或目录是否存在。 |
10 | public boolean isDirectory() 测试此抽象路径名表示的文件是否是一个目录。 |
11 | public boolean isFile() 测试此抽象路径名表示的文件是否是一个标准文件。 |
12 | public boolean createNewFile() throws IOException 当且仅当不存在具有此抽象路径名指定的名称的文件时,原子地创建由此抽象路径名指定的一个新的空文件。 |
13 | public boolean delete() 删除此抽象路径名表示的文件或目录。 |
14 | public String[] list(FilenameFilter filter) 返回由包含在目录中的文件和目录的名称所组成的字符串数组,这一目录是通过满足指定过滤器的抽象路径名来表示的。 |
15 | public File[] listFiles() 返回一个抽象路径名数组,这些路径名表示此抽象路径名所表示目录中的文件。 |
16 | public File[] listFiles(FileFilter filter) 返回表示此抽象路径名所表示目录中的文件和目录的抽象路径名数组,这些路径名满足特定过滤器。 |
17 | public boolean mkdir() 创建此抽象路径名指定的目录。 |
18 | public boolean mkdirs() 创建此抽象路径名指定的目录,包括创建必需但不存在的父目录。 |
19 | public boolean renameTo(File dest) 重新命名此抽象路径名表示的文件。 |
实例
file对象对图片后缀名 “jpg”和 “ png”互改
方法一
public static void main(String[] args) {
//筛选出F:\\目录下。以.jpg结尾的文件,改名为.png
File file = new File("F:\\CloudMusic");
if (file.exists()) {
File[] files = file.listFiles();
for (File f : files) {
if (f.isFile() && f.getName().endsWith(".jpg")) {
File file1 = new File(f.getParent(), f.getName().substring(0, f.getName().lastIndexOf(".")) + ".png");
boolean b = f.renameTo(file1);
System.out.println(file1);
}
}
} else {
System.out.println("此目录不存在");
}
}}
方法二
public class Mytest {
public static void main(String[] args) {
//筛选出F:\\目录下。以.jpg结尾的文件,改名为.png
File file = new File("F:\\CloudMusic");
if (file.exists()) {
File[] files = file.listFiles();
for (File f : files) {
if (f.isFile() && f.getName().endsWith(".png")) {
String path = f.getName();
// System.out.println(path);
String s = path.substring(0, path.lastIndexOf("."));
File file1 = new File(f.getParent(), s + ".jpg");
boolean b = f.renameTo(file1);
System.out.println(b);
}
}
} else {
System.out.println("此目录不存在");
}
}}