标签:修改时间 str cal 数字 图片 分享 void 字母 ring
做文件读取写入的时候,要用到一个类: File,这里简单记录。
构造方法,传入一个字符串,绝对路径和相对路径都可以,文件名或者文件夹也可以:
public File(String pathname)
File file = new File(fileName);
特别要注意的是这里的一个File对象,真的就只是一个对象而已,和你电脑上那个实际的文件,没半毛钱关系,它只是一个普通对象,持有了这个文件名,然后解析出了其它的一点,比如文件名啊,文件系统类型啊,分隔符啥的。
提供了一些还有点用的方法:
1、获取文件名,如果是文件的话,就是文件名,如果是文件夹,那就是文件夹名咯?如果是以“./test.txt”这种形式的话,结果就是test.txt,如果传这个“./”,那直接就是“.”了:
public String getName()
2、获取上级文件名:
public String getParent()
3、获取上级文件:
public File getParentFile()
4、判断是否是绝对路径:
public boolean isAbsolute()
5、获取对应的绝对路径:
public String getAbsolutePath()
6、获取绝对路径形式的一个File实例:
public File getAbsoluteFile()
7、获取路径,这种路径是标准格式的路径,对于win上,会返回可以直接用来放到文件夹的地址栏里打开:
public String getCanonicalPath()
这个方法和上面的两个方法有点区别,表述起来不方便,一张图说明差异:
8、获取上面方法的地址对应的File实例:
public File getCanonicalFile()
9、还能toURI,也不知道啥时候有用哦:
public URI toURI()
10、判断此File实例对应的真实文件是否可读,这个有点用:
public boolean canRead()
11、有可读判断自然有可写判断:
public boolean canWrite()
12、还有是否存在的判断:
public boolean exists()
13、判断是否是文件夹?是路径?是目录?反正就是不是文件的那个东西:
public boolean isDirectory()
14、判断是否是文件:
public boolean isFile()
15、还能判断是否是隐藏文件:
public boolean isHidden()
16、上次修改时间,返回一个long形式的数字。。。:
public long lastModified()
17、文件长度,返回的是个long形数字,表示这个实际文件的字节数(byte):
public long length()
用在哪?读取文件的时候,如果想整个读出来,比如有一个不大不小的文本文件,想整个读取出来,就需要先准备好一个byte数组了,数组长度多少比较好呢?可不就是这个长度了嘛:
byte[] filecontent = new byte[filelength.intValue()];
18、还可以创建个新的文件,当然了,只有文件不存在才会创建并返回true,如果文件存在就不创建了并返回false:
public boolean createNewFile()
19、删除文件,这下和机器上的实际文件挂上钩了:
public boolean delete()
20、JVM退出时删除文件???:
public void deleteOnExit()
从最普通的main方法里看,main方法退出的时候,这个文件删除了,不确定web项目的话什么时候会进行删除操作。
21、获取当前路径下(如果是路径的话)的所有文件名:
public String[] list()
如果不是路径而是个普通文件,该方法返回null。
如果是路径,也不保证返回的数组里文件名的顺序,据说是特别不要想着会以字母表顺序返回。本人测试时发现在win里好像是以排列顺序返回的,不过排列顺序这玩意,它叫我们不要信,那我们就认为是乱序的吧,真要排序就拿来自己排一下。
22、获取当前路径下所有文件名对应的File实例数组:
public File[] listFiles(FilenameFilter filter)
这里的FilenameFilter只是一个接口,使用的时候可以这样:
特别注意这里需要重写accept方法,接收的参数dir是当前路径,name就是路径下的一个文件名,这里假设获取当前路径下以.jpg结尾的所有File实例。
心有点累,这么一个类里好几十个方法,以上还只是部分,感觉比较有用的方法。
标签:修改时间 str cal 数字 图片 分享 void 字母 ring
原文地址:https://www.cnblogs.com/lihan829/p/9557674.html