File类访问文件或目录使用的例子,代码如下:
package com.songguoliang.io;
import java.io.File;
import java.io.IOException;
/**
* File类使用方法
* @date 2015-08-13 14:32:16
* @author sgl
*/
public class FileTest {
public static void main(String[] args) throws IOException {
//以当前路径来创建一个File对象,也可以使用绝对路径创建File对象
File file=new File(".");
//直接获取文件名,输出一个点
System.out.println(file.getName());
//获取抽象路径名的字符串形式
System.out.println(file.getPath());
//获取相对路径的父路径可能出错,下面代码输出null
System.out.println(file.getParent());
//获取绝对路径
System.out.println(file.getAbsoluteFile());
//获取上一级路径
System.out.println(file.getAbsoluteFile().getParent());
//在当前路径下创建一个临时文件
File tmpFile=File.createTempFile("aaa", ".txt", file);
//指定当JVM退出时删除该文件
tmpFile.deleteOnExit();
//以系统当前时间作为新文件名来创建新文件
File newFile=new File(System.currentTimeMillis()+"");
System.out.println("newFile对象是否存在:"+newFile.exists());
//以指定newFile对象来创建一个文件
newFile.createNewFile();
//以newFile对象来创建一个目录,因为newFile已经存在,所以下面方法返回false,即无法创建该目录
newFile.mkdir();
//使用list方法来列出当前路径下的所有文件和路径,tmpFile临时文件也会列出,但程序结束之后目录下看不到该文件,因为JVM退出时删除了该文件
String[]fileList=file.list();
System.out.println("=====当前路径下所有文件和路径如下=====");
for(String fileName:fileList){
System.out.println(fileName);
}
//listRoots静态方法列出所有的磁盘跟路径
File[]roots=File.listRoots();
System.out.println("======系统所有根路径如下======");
for(File root:roots){
System.out.println(root);
}
}
}
package com.songguoliang.io;
import java.io.File;
import java.io.FilenameFilter;
/**
* FilenameFilter类的使用
* @date 2015-08-11 12:02:20
* @author sgl
*/
public class FilenameFilterTest {
public static void main(String[]args){
//创建一个File实例
File file=new File(".");
//file的list方法可以接收FilenameFilter参数,传入自定义的filter,list方法会遍历调用filter的accept方法
String[] nameList=file.list(new MyFilenameFilter());
for(String name:nameList){
System.out.println(name);
}
}
}
/**
* 实现java.io.FilenameFilter接口的accept方法,自定义控制文件或目录是否显示
* @date 2015-08-11 12:03:06
* @author sgl
*/
class MyFilenameFilter implements FilenameFilter{
/*
* java.io.FilenameFilter
* (non-Javadoc)
* @see java.io.FilenameFilter#accept(java.io.File, java.lang.String)
* @date 2015-08-11 12:04:44
* @author sgl
*/
@Override
public boolean accept(File dir, String name) {
//只包含.java后缀文件或目录
return name.endsWith(".java")||new File(name).isDirectory();
}
}
版权声明:本文为博主原创文章,转载请注明本文链接。文章内容如有错误望能指正,以免误导更多人。
原文地址:http://blog.csdn.net/gnail_oug/article/details/47612161