File操作
File构造器:
package njlife123;
import java.io.File;
/**
* 微信公众号:Java后端分享
* 个人站点:http://www.njlife123.com
*/
public class Test1 {
public static void main(String[] args) {
//获取工作目录
String userDir = System.getProperty("user.dir");
System.out.println(userDir);
File file1 = new File(userDir, "test.txt");
File file2 = new File("D:\\pro\\test\\test.txt");
File file3 = new File("test.txt");//相对目录
System.out.println(file3.exists());
}
}
常用方法:
package njlife123;
import java.io.File;
/**
* 微信公众号:Java后端分享
* 个人站点:http://www.njlife123.com
*/
public class Test1 {
public static void main(String[] args) {
//获取工作目录
String userDir = System.getProperty("user.dir");
File file1 = new File(userDir+File.separatorChar+"src");
System.out.println(File.separatorChar);
if(file1.exists()){
//判断是否文件
if(file1.isFile()){
//输出文件名
System.out.println("文件:"+file1.getName());
System.out.println(file1.length());//文件大小
System.out.println(file1.lastModified());//最后修改时间
}else{
System.out.println("目录:"+file1.getName());
}
}
System.out.println(file1.exists());
}
}
ListFiles方法:
2种文件过滤器,返回符合条件的File数组
package njlife123;
import java.io.File;
import java.io.FilenameFilter;
/**
* 微信公众号:Java后端分享
* 个人站点:http://www.njlife123.com
*/
public class Test1 {
public static void main(String[] args) {
File file = new File("D:\\pro\\test");
File[] files = file.listFiles(new MyFileNameFilter());
}
}
class MyFileNameFilter implements FilenameFilter{
public boolean accept(File dir, String name) {
return name.endsWith(".txt");
}
}
package njlife123;
import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;
/**
* 微信公众号:Java后端分享
* 个人站点:http://www.njlife123.com
*/
public class Test1 {
public static void main(String[] args) {
File file = new File("D:\\pro\\test");
File[] files = file.listFiles(new MyFileFilter());
}
}
class MyFileFilter implements FileFilter {
public boolean accept(File pathname) {
return pathname.getName().endsWith(".txt");
}
}
递归:在一个方法里面自己调用自己
通过递归输出某个目录下的所有子文件夹和文件:
案例:
输入目录,输出所有目录文件。
package njlife123;
import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;
/**
* 微信公众号:Java后端分享
* 个人站点:http://www.njlife123.com
*/
public class Test1 {
public static void main(String[] args) {
File file = new File("D:\\pro\\test");
display(file);
}
public static void display(File dir){
if(dir.exists() && dir.isDirectory()){
File[] fs = dir.listFiles();
for(File f:fs){
if(f.isFile()){
System.out.println("文件:"+f.getName());
}else{
System.out.println("目录:"+f.getName());
display(f);//递归调用
}
}
}
}
}