file的基本使用:
File f1 = new File("1.jpg");
File f2 = new File("C:\\myPicture\\1.jpg");
System.out.println("f1----"+f1);
System.out.println("f2----"+f2);
String absolutePath = f1.getAbsolutePath();
String absolutePath2 = f2.getAbsolutePath();
System.out.println("f1-absolutePath:---"+absolutePath);
System.out.println("f2-absolutePath:---"+absolutePath2);
String path = f1.getPath();
String path2 = f2.getPath();
System.out.println("f1path:---"+path);
System.out.println("f2path:---"+path2);
String f1Name = f1.getName();
String f2Name = f2.getName();
System.out.println("f1Name---"+f1Name);
System.out.println("f2Name---"+f2Name);
long f1Length = f1.length();
long f2Length = f2.length();
System.out.println("f1Length---"+f1Length);
System.out.println("f2Length---"+f2Length);
=========================================================================
f1----1.jpg
f2----C:\myPicture\1.jpg
f1-absolutePath:---D:\work\workspace\summba-site-serv-website\1.jpg
f2-absolutePath:---C:\myPicture\1.jpg
f1path:---1.jpg
f2path:---C:\myPicture\1.jpg
f1Name---1.jpg
f2Name---1.jpg
f1Length---0
f2Length---29965
=========================================================================
createNewFile() boolean 创建文件
delete() boolean 执行删除,如果是文件直接删除(不去回收站,永久删除),如果是文件夹,必须是空文件夹才能被删除,
exists() boolean
isDirctory() boolean
isFile() boolean
mkdir() boolean 创建单级文件夹
mkdirs()boolean 创建多级文件夹
File f1 = new File("C:\\myPicture\\1.jpg");//本身存在1.jpg
File f2 = new File("C:\\myPicture\\a.jpg");//本身不存在a.jpg
try {
boolean f1createNewFile = f1.createNewFile();
boolean f2createNewFile = f2.createNewFile();
System.out.println(f1createNewFile);//false 不执行创建。本身已有不再创建
System.out.println(f2createNewFile);//true 执行创建。本身不存在就创建
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
=========================================================================
list() 得到的是该文件夹下面的所有文件及目录名
File f1dir = new File("C:\\myPicture");
String[] fidirListNames = f1dir.list();
for (String name : fidirListNames) {
System.out.println(name);
}
1.jpg
2.jpg
3.jpg
a.jpg
wenjianjia
=========================================================================
listFiles()得到的是该目录下的所有目录及文件对象
File[] listFiles = f1dir.listFiles();
for (File file : listFiles) {
System.out.println(file);
}
C:\myPicture\1.jpg
C:\myPicture\2.jpg
C:\myPicture\3.jpg
C:\myPicture\a.jpg
C:\myPicture\wenjianjia
=========================================================================
注意:在获取指定目录下的文件或者文件夹时必须满足下面两个条件
1,指定的目录必须是存在的,
2,指定的必须是目录。否则容易引发返回数组为null,出现NullPointerException
文件过滤器:筛选自己想要的文件。自定义筛选条件
File f1dir = new File("C:\\myPicture");
File[] listFiles = f1dir.listFiles(new MyFileFilter());
for (File file : listFiles) {
System.out.println(file);
}
1.根据文件名过滤
public classMyFileFilterimplementsFilenameFilter{
@Override
public boolean accept(File dir, String name) {
// TODO Auto-generated method stub
return name.endsWith(".txt");
}
}//C:\myPicture\1.txt
2.筛选出文件夹/文件
public class MyFileFilter implementsFileFilter{
@Override
public boolean accept(File pathname) {
// TODO Auto-generated method stub
return pathname.isDirectory();//筛选出文件夹
//return pathname.isFile()筛选出文件
}
}