package java5; import com.sun.org.apache.bcel.internal.generic.NEW; import org.junit.Test; import java.io.File; import java.util.Date; /**File类的使用 * 1.File类的一个对象,代表一个文件或一个文件目录(俗称文件夹)。 * 2.Filel类声明在java.io包下 * @author 冀帅 * @date 2020/8/14-21:53 */ public class FileTest { /* * 1.如何创建File类的实例 * File(String filePath) * File(String parentPath,String childPath) * File(File parentFile,String childPath) * * 2. * 相对路径:相较于某个路径下指明的路径 * 绝对路径:包含盘符在内的文件或文件目录的路径 * * 3.路径分隔符 * Window:\\ * unix:/ * */ @Test public void test1(){ //构造器1: File file1 = new File("hello.txt");//相对路径:相对于当前module File file12 = new File("F:\\idea\\workspace\\untitled\\DayTest0806\\src\\test\\java\\he.txt"); System.out.println(file1); System.out.println(file12); //构造器2: File file3 = new File("F:\\idea\\workspace\\untitled","JavaSenior");//文件目录 System.out.println(file3); //构造器3: File file4 = new File(file3,"hi.txt"); System.out.println(file4); } @Test public void test2(){ File file1 = new File("hello.txt");//相对路径 File file2 = new File("D:\\io\\hi.txt");//绝对路径 System.out.println(file1.getAbsolutePath());//获取绝对路径 System.out.println(file1.getPath());//获取路径 System.out.println(file1.getName());//获取名字 System.out.println(file1.getParent());// System.out.println(file1.length());//长度 System.out.println(new Date(file1.lastModified()));//最近一次修改的时间(文件不存在) System.out.println(); System.out.println(file2.getAbsolutePath()); System.out.println(file2.getPath()); System.out.println(file2.getName()); System.out.println(file2.getParent()); System.out.println(file2.length()); System.out.println(file2.lastModified());//最近一次修改的时间 /*如下的两个方法适用于文件目录: public String[] list():获取指定目录下的所有文件或者文件目录的名称数组 public File listFiles():获取指定目录下的所有文件或者文件目录的File数组 * * * * */ } @Test public void test3(){ File file = new File("D:\\Ding"); String[] list = file.list();//返回下一层文件或者文件目录的名字 for (String s : list) { System.out.println(s); } System.out.println("=============================="); File[] files = file.listFiles();//以绝对路径的方式罗列出来 for (File file1 : files) { System.out.println(file1); } } /* *public boolean renameTo(File dest):把文件重命名为指定的文件路径(把file1里的内容写到file2中,同时file1消失,file2生成) * 比如:file1.renameTo(file2)为例: * 要想保证返回true,需要file1是在硬盘里存在的且file2是不存在的 * */ @Test public void test4(){ File file1 = new File("hello.txt"); File file2 = new File("D:\\io\\hi.txt"); boolean renameTo = file2.renameTo(file1); System.out.println(renameTo); } }