File文件简单总结


File总结
File类位于java.io包中、其作用是通过File对象的方法创建文件对象,删除文件、列表文件、判断文件是目录还是正式文件。



a、了解文件须先了解文件系统的基本规则:
1、文件的全名字包含文件的路径名和扩展名;单独讲文件名字时、是不带路径名但带扩展名的文件名。

2、同一目录下不可能存在同名的目录和真实文件、 系统主要有目录类型的文件和真实文件两种;真实文件可以没有扩展名、还有第三种文件我们不需要计算的如虚拟内存文件。

3、相对目录:指不以路径分隔符开头的(即根目录)文件路径。
   绝对目录:指以根目录开头的文件路径。

4、目录分隔符和路径分隔符在liunx和windows平台上不同、前者为“/”,后者为“:”;因此不要硬编码到程序中,而要使用File类提供的相应的属性值。


b、File类属性和方法:
1、public static String pathSepatstor:表示当前操作系统的路径分割符;在liunx中是“/”,在windows中是“\”.

2、public static  String Separator:表示当前操作系统的名字分割符;而在liunx中是“:”,在windows中是“;”。

3、File提供的构造器:
1、File(File parent, String child)
          根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
2、File(String pathname)
          通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
3、File(String parent, String child)
          根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
4、File(URI uri)
          通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例。
其中第四个用得比较少。

4、File类下重要的方法:
delete()
         删除此抽象路径名表示的文件或目。
exists()
          测试此抽象路径名表示的文件或目录是否存在。
getAbsolutePath()
          返回此抽象路径名的绝对路径名字符串。
getName()
          返回由此抽象路径名表示的文件或目录的名称。
getPath()
          将此抽象路径名转换为一个路径名字符串。
isDirectory()
          测试此抽象路径名表示的文件是否是一个目录。
isFile()
          测试此抽象路径名表示的文件是否是一个标准文件。
list()
          返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
mkdir()
          创建此抽象路径名指定的目录。
5、操作运用过程中,代码如下:

// 统计一个目录下所有文件总数
	public int countFile(File fileName) {
		int count = 0;
		// 根据路径实例化对象
		if (fileName.exists()) {
			// 用数组装下
			File array[] = fileName.listFiles();
			// 是空目录或文件,就跳出循环
			if (null == array || array.length == 0) {
				return 0;
			}
			// 循环遍历
			for (int i = 0; i < array.length; i++) {
				File f = array[i];
				// 判断是文件还是目录
				if (f.isDirectory()) {
					String subDir = array[i].getAbsolutePath();
					System.out.print("目录:" + subDir);
					jtf.append(subDir + "\n");
					count += countFile(array[i]);
				}
				// 如果是文件
				if (f.isFile()) {
					count++;
					String fileName2 = array[i].getAbsolutePath();
					System.out.println("文件:" + count + ":" + fileName2);
					jtf.append("第" + i + "目录是:" + fileName2 + "\n");

				}

			}
		}
		System.out.println(count);
		return count;

	}

你可能感兴趣的:(File)