您的位置:首页 > 编程语言 > Java开发

JAVA学习笔记——File文件类

2018-01-23 00:29 405 查看
1.File类:表示文件和目录路径名的抽象表示形式

(1)构造方法

  File(String pathname):根据一个路径得到File对象。

  File(String parent, String child):根据一个目录和一个子文件/目录得到File对象

  File(File parent, File child):根据一个父File文件和一个子File文件/目录得到File对象

(2)功能方法

 A:创建功能:

  public boolean createNewFile():创建文件,如果存在该文件,则不创建并且返回false,如果创建成功返回true;如果父目录不存在,则创建失败返回false。

  public boolean mkdir():创建文件夹,如果存在该文件夹,则不创建并且返回false,如果创建成功返回true;如果父目录不存在,则创建失败返回false。

  public boolean mkdirs(): 创建文件夹,如果存在该文件夹,则不创建并且返回false,如果创建成功返回true;如果父目录不存在,则直接创建父目录返回true。

  

  注意:如果你创建文件或者文件夹时没有加路径,那么此时就是默认路径,默认在当前项目文件夹下。

  

 B:删除功能

  public boolean delete():删除一个文件或者文件夹,如果该文件夹下面有文件或者文件夹,则删除失败,返回false,删除成功返回true。

 C:重命名功能

  public boolean renameTo(File dest):如果参数File对象的路径和该File对象路径一样,则是改名,如果路径不同,则是改名+剪贴。

 D:判断功能

  public boolean isDirectory():判断是否为目录

  public boolean isFile():判断是否为文件

  public boolean exists():判断是否存在

  public boolean canRead():判断是否可读

  public boolean canWrite():判断是否可写

  public boolean isHidden():判断是否隐藏

 E:获取功能

  public boolean getAbsolutePath():获取绝对路径

  public boolean getPath():获取相对路径

  public boolean getName():获取名称

  public long length():获取文件长度

  public long lastModified():获取最后一次修改时间,毫秒值

  

  高级获取功能

  public String[] list():获取指定目录下所有文件或者文件夹的名称数组

  public File[] listFiles():获取指定目录下所有文件或者文件夹的File数组

 

 F:文件过滤器

  public String[] list(FilenameFilter filter):获取指定目录下指定的文件的名称

  public File[] listFiles(FilenameFilter filter):获取指定目录下指定的文件。

  其中,FilenameFilter 是一个接口,因此可以知道filter肯定是FilenameFilter的一个实现类对象。

 具体用法如下:

//判断H盘下是否有JPG文件,有的话输出

/*
* 1   封装H盘
* 2 获取目录下所有File数组
* 3 判断是否是文件
*      是:是否名字是以.JPG结尾
*          是:获取名字输出
*          否:无
*      否:无
*/

File file_H = new File("H:\\") ;
File [] files = file_H.listFiles() ;
//循环判断
for (File file : files) {
if (file.getName().endsWith(".JPG")) {    //字符串中的方法 endsWith("XX"):判断是否以XX为结尾
System.out.println(file.getName());
}
}

/*优化:文件过滤器改进
*
* 1.封装H盘
* 2。判断是否有以。JPG结尾的文件
*          是:获取输出
*          否:无
*/
File file = new File("H:\\") ;
String[] strFile = file.list(new FilenameFilter() {

public boolean accept(File arg0, String arg1) {
// 只有这边判断为真的时候文件名才会放进list中
//System.out.println(arg0+"---"+arg1);  //输出H:\---迅雷下载 ,可见arg0是文件路径,arg1是文件名
return arg0.isFile() && arg1.endsWith(".JPG");
}
});

for (String string : strFile) {
System.out.println(string);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  IO 文件 File 文件流