javaFile类的使用2

  • File:文件和目录路径名的抽象表示形式。
    * D:\a\b b 路径名的抽象表示形式。(绝对路径)
    * D:\a\b\a.txt a.txt路径名的抽象表示形式。(绝对路径)
    * 从以下版本开始: JDK1.0
    * 父类:java.lang.Object
    * 接口:Serializable, Comparable
    *
    * 注意:如果文件没有指定路径,那么默认的路径是项目的根路径
    * 常用方法
    * 创建 createNewFile()
    * 删除 delete();
    * 修改 renameTo 改名+剪切
    * 长度 length 文件的字节大小
    * 判断 自己补全

import java.io.File;
import java.io.IOException;
import java.util.Date;

public class Demo {

	public static void main(String[] args) throws IOException {
		//File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
		//1:创建一个抽象的路径对象  t://a.txt
		File file = new File("a.txt");
		//2:创建一个文件   当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
		boolean flag = file.createNewFile();
		System.out.println("createNewFile:"+flag);
		//3 删除此抽象路径名表示的文件或目录。
		/*boolean delete = file.delete();
		System.out.println("delete:"+delete);*/
		//4 重新命名此抽象路径名表示的文件。
		/*File file2 = new File("b.txt");
		boolean renameTo = file.renameTo(file2);
		System.out.println("renameTo:"+renameTo);*/
		//5:获取文件的长度
		System.out.println("length:"+file.length());
		//6:判断功能
		System.out.println(file.canRead());
		System.out.println(file.canWrite());
		System.out.println("是否是目录:"+file.isDirectory());
		System.out.println("是否是文件:"+file.isFile());
		System.out.println("是否隐藏:"+file.isHidden());
	    //7:获取文件或目录最后一次被修改的时间
		long d = file.lastModified();
		Date date = new Date(d);
		System.out.println(date.toLocaleString());
	}

}
  • File类的常用方法
    * 获取 自己补全
    * 遍历
    * list() :遍历抽象路径,获取所有文件以及文件夹的名字
    * listFiles() 遍历抽象路径,获取所有文件以及文件夹的本身对象
    *
    * 作业:批量修改后缀是.txt的文本
    * 盗墓笔记 7部
    * 1-盗墓笔记 xxx.txt
    * 2-盗墓笔记 xxx.txt
    * 3-盗墓笔记 xxx.txt
    * 4-盗墓笔记 xxx.txt
    * 5-盗墓笔记 xxx.txt
    * 6-盗墓笔记 xxx.txt
    * 7-盗墓笔记 xxx.txt
import java.io.File;
import java.io.IOException;

public class Demo2 {

	public static void main(String[] args) throws IOException {
		//1:创建抽象路径表示形式
	/*	File file = new File("a.txt");
		//2:创建文件
		file.createNewFile();
		//3:获取功能
		//3.1 返回此抽象路径名的绝对路径名字符串。
		System.out.println(file.getAbsolutePath());
		//3.2 返回由此抽象路径名表示的文件或目录的名称。
		System.out.println(file.getName());
		//3.3 返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。
		System.out.println(file.getParent());
		//3.4 将此抽象路径名转换为一个路径名字符串。
		System.out.println(file.getPath());*/
		
		//4 遍历功能
		 //4.1 list() 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
		File file = new File("D:/工具");
		//4.2  返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件以及文件夹。
		File[] listFiles = file.listFiles();
		//找出D:/工具   下面所有的.exe文件
		//1:遍历d:\工具下的所有文件以及文件夹
		for (File file2 : listFiles) {
		  //2:判断每个file2是非是文件
			if(file2.isFile()){
				//3:是文件再判断后缀名是否是.exe
				if(file2.getName().endsWith(".exe")){
					//4:打印后缀是.exe文件的名字
					System.out.println(file2.getName());
					System.out.println(file2.getAbsolutePath());
				}
			}
		}
		
		// 测试此抽象路径名表示的文件或目录是否存在。
		System.out.println(file.exists());
		
		/*String[] str = file.list();
		//找出D:/工具   下面所有的.exe文件
		for (String s : str) {
			
			if(s.endsWith(".exe")){
				System.out.println(s);
			}
		}*/
		//4.2 遍历d盘下面的所有文件以及目录
		/*String[] str = file.list();
		for (String s : str) {
			System.out.println(s);
		}
		*/
		
		
		
		
	}
}

  • 目录即文件夹
    * 对目录的操作
    *
    * 作业:利用递归创建多级目录机构
    * a//b//c//d
    *
    * 面试题:递归删除多级目录结构

public class Demo {

	public static void main(String[] args) {
		
		//1:创建一个抽象的目录结构
		/*File file = new File("a//b//c//d");
		//2 创建此抽象路径名指定的目录。  只能创建一个文件夹
		//boolean mkdir = file.mkdir();
		//3 创建此抽象路径名指定的目录。  一次性创建多级目录结构
		boolean mkdirs = file.mkdirs();
		System.out.println(mkdirs);*/
		//4一次创建10级目录结构 
		/*for(int i=1;i<=10;i++){
			File file = new File(i+"");
			System.out.println(file.mkdir());
		}*/
		
		/*File file = new File("a.exe");
		
		boolean mkdir = file.mkdir();
		System.out.println(file.delete());*/
		
		//File file = new File("a");
		//System.out.println(file.delete());
	}

}

你可能感兴趣的:(java初级)