File类
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了File类相关的知识,希望对你有一定的参考价值。
流只能操作具体的数据,但是对文件的大小、创建时间等信息却无法操作。这就有必须使用File类。
File f1=new file("c:\\a.txt");
名称分隔符也可以使用File.separator,如上例 "c:"+File.separator+"a.txt"
1.常见的File类的获取信息方法
public static void getDemo() { File file=new File("a.txt"); String name=file.getName(); String absPath=file.getAbsolutePath(); String path=file.getPath(); long len=file.lenght(); long time=file.lastModified();
Date date=new Date(time);
DateFormat dateFormat=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.Long);
string str_time=dateFormat.format(date);
string parentDir=file.getParent();//如是相对路径,则当前目录的父目录是null //以下输出,略 …… }
2.创建与删除
File file=new File("a.txt");
boolean b=file.createNewFile();
和输出流不一样的是,如果文件不存在,则创建,如果文件存在,则不创建。
file.delete();
注意:file.deleteOnExit()是在退出时删除。
File类还可操作文件夹。
File dir=new File("abc");
boolean b=dir.mkdir();
当文件或目录不存时,isFile()和isDirectory()均为false,所以最好先判断是否存在。
3.重命名(有剪切功能,可改变目录)
File f1=new File("c:\\a.txt");
File f2=new File("c:\\b.txt");
boolean b=f1.renameTo(f2);
4. 获取系统根目录
File [] files=File.listRoots();
for(File file:files)
{
System.out.println(file); //输出c:\ d:\ e:\等
}
5.获取空间容量
File file=new File("d:\\");
System.out.println(file.getFreeSpace()); //未用空间容量
System.out.println(file.getTotalSpace()); //总容量
System.out.println(file.getUsableSpace()); //已用空间容量
6.获取文件和目录列表
public static void listDemo_1() { File file =new File("c:\\"); //如果是文件或此目录不存在,则会有异常,所以最好加判断 String[] names=file.list(); for(String name:names) { System.out.println(name); } } public static void listDemo_2() { File file =new File("c:\\"); //如果是文件或此目录不存在,则会有异常,所以最好加判断 //list()方法可以带过滤器,过滤器的接口为FilenameFilter,它就一个方法accept() ,只要返回真,就取出 String [] names=dir.list(new FilterByJava()); for(String name:names) { System.out.println(name); } } /* 新建一个接口,做个过滤器 */ public class FilterByJava implements FilenameFilter { @Override public boolean accept(File dir,String name) { return name.endsWith(".java"); //取出所有扩展名为.java的文件名 } }
如果想过滤所有隐藏文件,那么不能用list()方法,因为这个方法只能获取和过滤文件和目录的名称,不能过滤文件的属性。
只能使用listFiles()方法。它也可以使用过滤器,参考上例。
以上是关于File类的主要内容,如果未能解决你的问题,请参考以下文章
php代码片段: sendFile/videoStream/sendEmail/phpexcel/ffmpeg/zip
[异常解决] Make nRF51 DFU Project Appear "fatal error: uECC.h: No such file or directory"(代码片段
如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用
解决go: go.mod file not found in current directory or any parent directory; see ‘go help modules‘(代码片段