File的操作

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()筛选出文件

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 IONo18 1.1IO框架 【 IO:Input Output 在程序运行的过程中,可能需要对一些设备进...
    征程_Journey阅读 4,513评论 0 1
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 10,532评论 0 41
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,930评论 18 399
  • File类(File类的概述和构造方法) A:File类的概述File更应该叫做一个路径文件路径或者文件夹路径路径...
    厉害了我的彭阅读 3,950评论 0 3
  • 《立秋》 [宋]刘翰 乳鸦啼散玉屏空,一枕新凉一扇风。 睡起秋声无觅处,满阶梧桐月明中。 《立秋》 左河水 一叶梧...
    地主199502阅读 2,849评论 0 0