网站首页 > java教程 正文
文件创建
File dummyFile = new File("test.txt"); boolean fileCreated = dummyFile.createNewFile();
该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; };
猜你喜欢
- 2024-10-06 一文搞定java.lang.Class.isInstance和instanceof的区别
- 2024-10-06 如何使用Java 文件系统 File类?(java files类)
- 2024-10-06 Spring问题之提示文件不存在处理it does not exist
- 2024-10-06 Java中类加载器的工作原理(java中类加载器有几种)
- 2024-10-06 java常见问题(java常见问题及答案)
- 2024-10-06 「Java」常用的文件操作(java 文件处理)
- 2024-10-06 JAVA中的文件操作2-如何读写文件(java高并发读写文件)
- 2024-10-06 bitmap算法:如何在20亿个非负整数中如何判断一个数是否存在?
- 2024-10-06 Java 如何验证文件名的有效性?(java判断文件名包含字符串)
- 2024-10-06 java中读取properties文件最简单的方法
你 发表评论:
欢迎- 最近发表
-
- 你真的会用 Java 中的线程池吗?多个企业级线程池工具类封装实践
- 线程池的实现原理、优点与风险、以及四种线程池实现
- Java线程池ThreadPoolExecutor实现原理剖析
- 深入分析线程池的实现原理(线程池是干嘛的)
- 一文搞懂JAVA线程池工作原理(java线程池的工作流程)
- Java线程池的工作原理(java线程池的实现原理)
- 5分钟读懂C#中TcpClient、TcpListener和Socket三个类的角色
- JVM对象的创建过程(jvm运行过程中创建的对象一般存放在方法区)
- 对象组成与Java内存模型JMM分析(java对象在内存中存储的结构)
- JVM对象内存分配详细过程(栈上分配->TLAB->老年代->Eden区)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)