java基础:文件
一. 概述:
1.1 简介
Java的file系统和操作系统是一套。根据安装的不同os而不同。例如在linux中使用stat命令查看文件、文件夹的具体信息
文件夹
$ stat /home
File: ‘/home’
Size: 16 Blocks: 0 IO Block: 4096 directory
Device: fd02h/64770d Inode: 128 Links: 3
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2015-12-13 11:29:01.142687113 +0800
Modify: 2015-12-10 19:54:40.089728044 +0800
Change: 2015-12-10 19:54:40.089728044 +0800
Birth: -
文件
$ stat VMwareTools-10.0.0-2977863.tar.gz
File: ‘VMwareTools-10.0.0-2977863.tar.gz’
Size: 71524872 Blocks: 139704 IO Block: 4096 regular file
Device: fd02h/64770d Inode: 175 Links: 1
Access: (0444/-r--r--r--) Uid: ( 1000/ fxl) Gid: ( 1000/ fxl)
Access: 2015-12-06 10:47:02.939028461 +0800
Modify: 2015-12-06 10:46:52.035027559 +0800
Change: 2015-12-06 10:46:52.035027559 +0800
Birth: -
1.2 java文件的依赖
java.io.File:java里面的系统文件封装类,和文件数据有关的都会使用到。(压缩是工具,不是文件本身特性)
1.3.主要操作
a) 路径:文件名(分隔符最后一个字符串)、绝对路径、父路径、
b) 判断:为绝对路径、为文件夹、为文件、路径是否为绝对路径、文件(夹)存在
c) 大小
d) 最后修改时间
e) 权限设置
f) 移动 (需要I/O操作)
g) 压缩、解压(需要I/O工具类,将文件保存到压缩文件里面的保存文件)
二. 案例
/*
* @see \ :转义字符,后面的字符代码特殊意义
*
* @see 这个文件和linux的文件系统差不多
*
* @See 1.判断:是否存在、是否为绝对路径、是否为文件夹
*
* @see 2.路径:父路径、绝对路径
*
* @see 3.时间最后修改时间
*
* @see 4.大小
*
* @see 5.权限
*/
@Test
public void getFile() throws IOException {
File file2 = new File("d:\\project\\test\\");
File file1 = new File(file2, "1231.txt");
System.out.println(file1.getName()); // 1231.txt
System.out.println(file1.getAbsolutePath());// d:\project\test\1231.txt
System.out.println(file1.getPath());// d:\project\test\1231.txt
System.out.println(file1.getParent());// d:\project\test
System.out.println(file1.getParentFile());// d:\project\test
System.out.println(file1.exists()); // true
System.out.println(file1.isAbsolute());// true
System.out.println(file1.isDirectory());// false
System.out.println(file1.isFile());// true
System.out.println(file1.length());// 687
System.out.println(file1.pathSeparator);// ;
System.out.println(file1.canWrite());// false
System.out.println(file1.canExecute());// true
System.out.println(file1.canRead());// true
System.out.println(file1.getCanonicalPath());// D:\project\test\1231.txt
System.out.println(file2.getName());// test
System.out.println(file2.getAbsolutePath());// d:\project\test
System.out.println(file2.getPath());// d:\project\test
System.out.println(file2.getParent());// d:\project
System.out.println(file2.isAbsolute());// true
System.out.println(file2.isDirectory());// true
System.out.println(file2.isFile());// false
System.out.println(file2.length());// 0
System.out.println(file2.pathSeparator);// ;
// lastModified : :1450179913772 : :datetime:2015-12-15 19:45:13
System.out.println("lastModified : :" + file1.lastModified() + " : :datetime:"
+ new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(file1.lastModified())));
// setReadOnly : :true
System.out.println("setReadOnly : :" + file1.setReadOnly());
}