java File类,文件过滤器

来源:互联网 发布:览物之情得无异乎 编辑:程序博客网 时间:2024/05/22 03:46

File类:java.io

实现操作文件和目录,新建,删除,重命名,File不能访问文件内容本身,需要使用输入/输出流来访问文件内容本身。
1.访问文件名相关的方法:
String getName(): 返回此File对象所表示的文件名或路径名。
String getPath():返回此File对象所对应的路径名。
String getParent():返回此File对象所对应的目录(最后一级子目录)的父目录名。
File getParentFile():
String getAbsolutePath():返回此File对象所对应的路径名。
File getAbsoluteFile()
String getCanonicalPath()
File getCanonicalFile()
boolean renameTo(File dest)

2.文件检测相关方法:
boolean exists():
boolean isFile() :
boolean isDirectory():
boolean isHidden() :
boolean isAbsolute():
boolean canRead():
boolean canWrite():
boolean canExecute():

3.获取文件信息相关方法:
long lastModified():
long length():
long getTotalSpace()
long getFreeSpace()
long getUsableSpace()

4.文件操作相关方法:
boolean createNewFile()
boolean delete()
void deleteOnExit()
File createTempFile(String prefix, String suffix, File directory)
File createTempFile(String prefix, String suffix)
int compareTo(File pathname)
Path toPath()
URI toURI()

5.目录操作相关方法:

boolean mkdir()
boolean mkdirs()
String[] list()
String[] list(FilenameFilter filter)
File[] listFiles()
File[] listFiles(FilenameFilter filter)
File[] listFiles(FileFilter filter)
static File[] listRoots()

6.权限设置,修改时间设置相关方法:
boolean setLastModified(long time)
boolean setReadOnly()
boolean setWritable(boolean writable, boolean ownerOnly)
boolean setWritable(boolean writable)
boolean setReadable(boolean readable, boolean ownerOnly)
boolean setReadable(boolean readable)
boolean setExecutable(boolean executable, boolean ownerOnly)
boolean setExecutable(boolean executable)

代码示例:
// 以当前路径创建一个File对象
File file = new File(“.”);
System.out.println(file.getName()); // 输出“.”

// 获取相对路径的父路径
file.getParent();

// 获取绝对路径:
file.getAbsoluteFile();

// 在当前路径下创建一个临时文件:
File tempFile = File.createTempFile(“temp”, “.txt”, file);

// 指定当JVM退出时删除该文件
tempFile.deleteOnExit();

// 以系统当前时间作为新文件名来创建文件
File newFile = new File(System.currentTimeMillis() +"”);

// 以指定newFile对象来创建一个文件
newFile.createNewFile();

// 以newFile对象来创建一个目录,
newFile.mkdir();

// 使用list()方法列出当前路径下的所有文件和路径
String[] fileList = file.list();
for (String fileName : fileList) {
System.out.println(fileName);
}

// listRoots()静态方法列出所有的磁盘根路径, 如Windows 系统 C:\,D:\, E:\, F:\
File[] roots = File.listRoots();
for (File root : roots ){
System.out.println(root);
}

文件过滤器

在File类的list()方法中可以接收一个FilenameFilter参数,通过该参数可以只列出符合条件的文件。
String[] nameList = file.list(new MyFilenameFilter());

// 实现自已的FilenameFilter实现类
class MyFilenameFilter implements FilenameFilter {
public boolean accept(File dir, String name) {
return name.endsWith(“.java”) || new File(name).isDirectory();
}
}

原创粉丝点击