Java IO的File类的如何使用和File类方法具体应用内附

Java IO的File类的如何使用

    • 1.java.io.File类
    • 2.File类的常用方法
      • 1.访问文件名相关的File类中方法
      • 2.File类文件检测方法和获取常规文件信息
      • 3.File类文件操作相关和目录操作相关的方法
    • 3.测试文件

1.java.io.File类

  1. java.io.File类:文件和目录路径名的抽象表示形式,且File类对象是与平台无关 。可以有构造器创建其对象,此对象对应着一个(.txt .properties .avi .doc)或者文件目录
  2. File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。
  3. File类的对象常常作为io流的具体类的构造器的形参
  4. File类的常见构造方法:
//方法一
public File(String pathname)

以pathname为路径创建File对象,可以是绝对路径或者相对路径,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储。

//方法二
public File(String parent,String child)

以parent为父路径,child为子路径创建File对象。

  1. File的静态属性String separator存储了当前系统的路径分隔符。
    ① 在UNIX中,此字段为‘/’,在Windows中,为‘\’
  2. demo
public class TestFile {
	@Test
	public void test1() {
		/*
		 * 路径:
		 * 绝对路径:包括盘符在内的完整的文件路径
		 * 相对路径:在当前文件目录下的文件的路径
		 */
		//两个字斜杠用法法
//		File file = new File("d:/io/holleworld.txt");
		File file = new File("d:\\io\\holleworld.txt");
		//相对路径
		File file2 = new File("holle.txt");
		//目录
		File file3 = new File("d:\\io\\io1");
	}
}

2.File类的常用方法

1.访问文件名相关的File类中方法

  1. 方法
getName():获取文件名
getPath():获取文件路径
getAbsoluteFile():获取绝对的文件
getAbsolutePath():获取绝对路径
getParent():返回上一层的文件夹
renameTo(File newName):修改文件的名字为newName,注:重名的时候,会把文件名加路径都变为newName的
  1. demo
@Test
	public void test2() {
		File file = new File("d:\\io\\holleworld.txt");
		//相对路径
		File file2 = new File("holle.txt");
		//目录
		File file3 = new File("d:\\io\\io1");
		
		System.out.println(file.getName());
		System.out.println(file.getPath());
		System.out.println(file.getAbsolutePath());
		System.out.println(file.getAbsoluteFile());
		System.out.println(file.getParentFile());
		
		System.out.println("-----------------");
		
		System.out.println(file3.getName());
		System.out.println(file3.getPath());
		System.out.println(file3.getAbsolutePath());
		System.out.println(file3.getAbsoluteFile());
		System.out.println(file3.getParentFile());
		
		//renameTo(File newName):重命名
		//file1.renameTo(file2):file1重命名为file2。要求:file1文件一定存在,file2文件一定不存在
		//file1和file2需为同一种文件类型,如都为文件夹
		boolean b = file.renameTo(file2);
	}
  1. 输出结果为:

Java IO的File类的如何使用和File类方法具体应用内附_第1张图片

2.File类文件检测方法和获取常规文件信息

  1. 方法
检测:
exists():是否存在
canWrite():是否可写
canRead():是否可读
isFile():是否是文件
isDirectory():是否是文件夹
获取文件信息:
lastModified():获取最后修改时间
length():获取文件的大小
  1. demo
@Test
	public void test3() {
		File file = new File("D:\\io\\helloworld.txt");
		File file1 = new File("d:\\io\\io1");
		
		System.out.println(file.exists());
		System.out.println(file.canWrite());
		System.out.println(file.canRead());
		System.out.println(file.isFile());
		System.out.println(file.isDirectory());
		System.out.println(new Date(file.lastModified()));
		System.out.println(file.length());
		
		System.out.println("----------");
		System.out.println(file1.exists());
		System.out.println(file1.canWrite());
		System.out.println(file1.canRead());
		System.out.println(file1.isFile());
		System.out.println(file1.isDirectory());
		System.out.println(new Date(file1.lastModified()));
		System.out.println(file1.length());
	}
  1. 输出
    Java IO的File类的如何使用和File类方法具体应用内附_第2张图片

3.File类文件操作相关和目录操作相关的方法

  1. 方法(此处需注意mkDir()和mkDirs()的区别)
文件操作相关:
createNewFile():创建文件或目录
delete():删除文件和文件目录
目录操作相关:
mkDir():创建一个文件目录,只有在上层文件存在的情况下,才能返回true
mkDirs():创建一个文件目,若上层文件不存在,则一并创建
list():返回文件下的FileName的String数组
listFiles()返回问价下File的File数组
  1. demo
	@Test
	public void test4() throws IOException {
		File file = new File("D:\\io\\helloworld.txt");	
		System.out.println(file.delete());
		
		if(!file.exists()) {
			boolean b = file.createNewFile();
			System.out.println(b);
		}
		
		File file1 = new File("d:\\io\\io2");
		if(!file1.exists()) {
//			boolean b = file1.mkdir();//注意两个方法的区别
			boolean b = file1.mkdirs();
			System.out.println(b);
		}
		
		File file2 = new File("d:\\io");
		String[] strs = file2.list();
		System.out.println(strs.length);
		
		File [] files = file2.listFiles();
		for (int i = 0; i < files.length; i++) {
			System.out.println(files[i].getName());
		}
	}
  1. 输出
    Java IO的File类的如何使用和File类方法具体应用内附_第3张图片

3.测试文件

Java IO的File类的如何使用和File类方法具体应用内附_第4张图片

你可能感兴趣的:(Java IO的File类的如何使用和File类方法具体应用内附)