java基础之文件

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());
	}


你可能感兴趣的:(java,File)