您的位置 首页 java

Java文件操作

文件创建

File dummyFile = new File("test.txt");
boolean fileCreated = dummyFile.createNew file ();
 

该createNewFile()方法创建一个新的空文件,如果有指定名称的文件不存在。如果文件已成功创建,则返回true;否则,返回false。如果发生I/O错误,该方法将抛出IOException。我们还可以在默认的临时文件目录或目录中创建一个临时文件。要在默认临时目录中创建临时文件,请使用File类的createTempFile() 静态方法 ,该方法接受前缀和后缀以生成临时文件名。

File tempFile = File.createTempFile("abc", ".txt");
 

文件夹创建

我们可以使用 mkdir ()或mkdirs()方法创建一个新目录。仅当路径名中指定的父目录已存在时,mkdir()方法才创建目录。

File newDir = new File("C:\ users \home");
 

只有当C:users目录已经存在时,newDir.mkdir()方法才会创建主目录。newDir.mkdirs()方法将创建users目录(如果它不存在于C:驱动器中),它将在C:users目录下创建主目录。

文件删除

我们需要使用File类的delete()方法来删除文件/目录。目录必须为空,我们才能删除它。如果文件/目录被删除,该方法返回true; 否则,返回false。我们还可以延迟删除文件,直到JVM通过使用deleteOnExit()方法终止。如果我们在程序中创建临时文件,当程序退出时要删除,这将非常有用。

  • 立即删除dummy.txt文件
File dummyFile = new File("dummy.txt"); 
dummyFile.delete();
 
  • 在JVM终止时删除dummy.txt文件
File dummyFile = new File("dummy.txt"); 
dummyFile.deleteOnExit();
 

文件重命名

要重命名文件,我们可以使用renameTo()方法,它使用一个File对象来表示新文件:

// Rename old-dummy.txt to new_dummy.txt
 File oldFile = new File("old_dummy.txt");
 File newFile = new File("new_dummy.txt");
 boolean fileRenamed = oldFile.renameTo(newFile);
 if (fileRenamed) {
 System.out.println(oldFile + " renamed to " + newFile);
 } else {
 System.out.println("Renaming " + oldFile + " to " + newFile
 + " failed.");
 }

 

如果文件的重命名成功,renameTo()方法返回true;否则,返回false。我们需要检查返回值,以确保重命名成功。

文件属性

File类包含让我们获取/设置文件和目录的属性的方法。我们可以设置分别使用setReadOnly(),setReadable(),setWritable()和setExecutable()方法将文件设置为只读,可读,可写和可执行。我们可以使用lastModified()和setLastModified()方法来获取和设置文件的最后修改日期和时间。我们可以使用isHidden()方法检查文件是否被隐藏。

文件大小

我们可以使用File类的length()方法获取文件的大小(以字节为单位)。

File myFile = new File("myfile.txt");
long fileLength = myFile.length();
 

如果File对象表示不存在的文件,则length()方法返回零。length()方法的返回类型是long,而不是int。

列出文件和目录

我们可以使用File类的listRoots()静态方法获取文件系统中可用根目录的列表。 它返回一个File对象数组。

File[] roots = File.listRoots();
 System.out.println("List of root directories:");
 for (File f : roots) {
 System.out.println(f.getPath());
 }
 

我们可以使用File类的list()或listFiles()方法列出目录中的所有文件和目录。list()方法返回一个String数组,而listFiles()方法返回一个File数组。我们还可以使用这些方法的文件过滤器从返回的结果中排除一些文件和目录。以下代码显示如何列出目录中的所有文件和目录。

文件过滤器

要从列表中排除扩展名为.SYS的所有文件,我们可以使用由功能接口FileFilter的实例表示的文件过滤器来实现。它包含一个accept()方法,它将File作为参数列出,如果应该列出文件,则返回true。返回false不会列出文件。以下代码创建一个文件过滤器,将过滤扩展名为.SYS的文件。

FileFilter filter = file -> {
 if (file.isFile()) {
 String fileName = file.getName().toLowerCase();
 if (fileName.endsWith(".sys")) {
 return false;
 }
 }
 return true;
};
 

文章来源:智云一二三科技

文章标题:Java文件操作

文章地址:https://www.zhihuclub.com/188311.shtml

关于作者: 智云科技

热门文章

评论已关闭

1条评论

  1. After study a number of of the blog posts on your website now, and I truly like your approach of blogging. I bookmarked it to my bookmark web site listing and can be checking again soon. Pls try my website as effectively and let me know what you think.

网站地图