File类
来源:互联网 发布:seven eleven 网络语 编辑:程序博客网 时间:2024/06/02 04:06
File类
File类的作用是操作文件和目录,但却不能访问文件。
- File类
- 访问文件和目录
- 访问与文件名相关的方法
- 文件检测相关的一些方法
- 获取文件信息
- 文件操作的一些方法
- 目录相关的操作
- 测试
- 文件过滤
- 访问文件和目录
1. 访问文件和目录
1. 访问与文件名相关的方法
String getName() 此方法返回File对象所表示的文件名或路径名,如果是路径则返回路径的最后一级子路径名。
String getPath() 返回此File对应的路径名。
File getAbsoluteFile() 返回此File对象的所对应的绝对路径。
String getAbsolutePath() 返回此File对象所对应的绝对路径名。
String getParent() : 返回此File对象所对应目录(最后已经子目录)的父目录名。
boolean renameTo(File newName) : 重命名此File对象所对应的文件或目录,如果重命名成功则返回true;否则返回false。
关于相对路径与绝对路径。
1. 绝对路径:绝对路径是一定能访问到的。在windows系统上,如果一个路径是以盘符开头则说明是一个绝对路径。
2. 相对路径:相对于某一文件的路径。
创建一个File类:
1. FIle (String pathname)
File file1 = new File("E:\\java");
2. File (File Parent, String child)
File file2 = new File(file1, "a.txt");
3. File (String parent, String child)
File file3 = new File("E:\\java", "a.txt")
2. 文件检测相关的一些方法
boolean exisit() 判断File文件是否存在
boolean canWrite(): 判断File对象所对应的目录是否可写。
boolean canRead(): 判断File对象所对应的目录是否可读。
boolean isFile() :判断File对象所对应的是否文件。
boolean isDirectory(): 判断File对象所对应的是否目录。
boolean isAbsolute():判断File对象所对应的文件或目录是否是绝对路径。
3. 获取文件信息
long lastModified() : 返回文件最后修改时间。
long length() : 获取文件长度。
4. 文件操作的一些方法
boolean createNewFile() : 当File对象所对应的文件不存在时,该方法将创建一个新的文件,如果创建成功则将返回true,否则将返回false。(有可能File对应的不是文件)
boolean delete() : 删除File所对应的文件。
static File createTempFile(String prefix, String suffix) : 在默认临时文件目录中创建一个空文件,使用给定的前缀、系统生成的随机数和后缀作文文件名。prefix - 用于生成文件名的前缀字符串;必须至少是三字符长,suffix - 用于生成文件名的后缀字符串;可以为 null,在这种情况下,将使用后缀 “.tmp”。
static File createTempFile(String prefix, String suffix, File directory):在给定的目录下生成一个文件,文件名前一个方法相同。如果使用默认的目录,第三个参数为null。
void deleteOnExit() : 指定当Java虚拟机退出时,删除File所对应的文件和目录。
5. 目录相关的操作
boolean mkdir() : 试图创建一个File对象所对应的目录,如果创建成功,则返回true,否则返回false。该方法要求File所对应的是一个路径,而不是文件。
String[] list() : 列出File对象的所有子文件名和路径名。
File listFiles[] : 列出File所对应的子文件和子路径。
static File[] listRoot() : 列出系统的所有根路径。
6. 测试
import java.io.File;import java.io.IOException;public class TestDemo { public static void main(String[] args) throws IOException { // 创建File对象 File file1 = new File("E:\\java\\a"); File file2 = new File("b.txt"); File file3 = new File(file1, "c.txt"); // 访问文件名的相关方法 System.out.println(file1.getName()); System.out.println(file3.getParent()); System.out.println(file1.getAbsoluteFile()); System.out.println(file1.getAbsolutePath()); System.out.println(file2.getPath()); // 文件检测的相关方法 System.out.println(file2.exists()); System.out.println(file2.canRead()); System.out.println(file2.canWrite()); System.out.println(file1.isDirectory()); System.out.println(file1.isAbsolute()); System.out.println(file2.isFile()); // 文件与目录的相关操作 file2.createNewFile(); File file4 = File.createTempFile("aaa", ".txt"); file1.mkdir(); File file5 = File.createTempFile("aaa", ".txt", file1); file5.renameTo(file3); String[] list = file1.list(); for (String str : list) { System.out.println(str); } File[] listFile = file1.listFiles(); for (File file:listFile) { System.out.println(file); } File[] roots = File.listRoots(); for (File root : roots) { System.out.println(root); } }}
2. 文件过滤
File类中的list()方法可以接受一个FilenameFilter参数,通过该参数的可以只列出符合条件的文件。
FilenameFilter接口中包含了一个accept(File dir, String name)的方法,该方法将依次对File的所有子目录或者文件进行迭代,如果该方法返回true,则list()方法会列出该子目录或者文件。
public class FilenameFilterDemo { public static void main(String[] args) { File file = new File("E:\\Java\\src\\InputandOutput"); // 使用Lambda表达式(目标类型为FilenameFilter)实现文件过滤 String[] namelist = file.list((dir, name) -> name.endsWith(".java") || new File(name).isDirectory()); for (String name : namelist) { System.out.println(name); } }}
- 【File】File类基础
- File类 ;File.Create(),File.Delete(), File.Copy(), File.Replace()
- File 类
- File 类
- File 类
- File 类
- File类
- File 类
- FILE 类
- File类
- FILE类
- File类
- File类
- File类
- File类
- File类
- File类
- File类
- MFC界面库BCGControlBar v25.3新版亮点:支持Visual Studio 2017
- 练习1:百度前端技术学院
- Unity 场景分页插件 World Streamer 支持无限大地图的解决方案(一)
- 微信小程序-弹出自定义对话框
- Fence Repair
- File类
- UVA
- Tomcat 字符编码问题
- python中的全局变量与局部变量
- 产品怎样做好后台管理系统
- Android面试攻略
- DRUID配置多数据源项目
- input上传图片+预览图片
- C++ 基类构造函数带参数的继承方式及派生类的初始化