JavaIO流-File类的使用
import org.junit.Test; import java.io.*; import java.util.Date; /**File类的使用 * 1.File类的一个对象代表一个文件或文件夹 * 2.File类声明在java.io包下 * 3.File类中涉及关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法, * 并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用IO流来完成。 * 4.后续File类的对象常被作为参数传递给流构造器中,指明读取或写入的“终点” * 一、新建 * @author orz */ public class FileClass { /** * 一、 * 1.如何创建File类的实例 *File(String filePath); *File(String parentPath,String childPath); *File(File parentFile,childPath); * 2. * 相对路径:相对某个路径下,指明的路径 * 绝对路径:包含盘符在内的文件或者文件目录的路径 * * 3.路径分隔符 * windows:\\ * unix:/ * 推荐使用File.separator * * 二、常用方法 * 1. *public String getAbsolutePath()//获取绝对路径 *public String getPath() //获取路径 *public String getName()//获取名称 *public String getParent()//获取上层文件目录路径,若无,返回null *public long length()//获取文件长度(字节数),不能获取目录长度 *public long lastModified()//获取最后一次的修改时间,毫秒值 * *2. * 如下两个方法适用于文件目录 * public String[] list()//获取指定目录下的所有文件或者文件目录的名称数组 * public File[] listFiles()//获取指定目录下的所有文件或者文件目录的File数组 * *3. * public boolean renameTo(File dest) //将文件重命名为指定文件路径 * 比如:file1.renameTo(file2)为例 * 要想保证放回true,需要file1在硬盘真实存在,且file2不能在硬盘中存在。 * * 4. * * public boolean isDirectory()//判断是否是文件目录 * * public boolean isFile()//判断是否是文件 * * public boolean exists()//判断是否存在 * * public boolean canRead()//判断是否可读 * * public boolean canWrite()//判断是否可写 * * public boolean isHidden()//判断是否隐藏 * * * 三、创建硬盘中对应文件或文件目录 * */ @Test public void test1() { //构造器1 //相对路径,相对于当前module File file1=new File("hello.txt"); //绝对路径 //"d:"+ File.separator+"orz"+File.separator+"info.txt"="d:\\orz\\info.txt"; File file2=new File("d:"+ File.separator+"orz"+File.separator+"info.txt"); System.out.println(file1); System.out.println(file2); //构造器2 File file3=new File("D:"+File.separator+"orz","jiangxiaoyu"); System.out.println(file3); //构造器3 File file4=new File(file3,"test.txt"); System.out.println(file4); } @Test public void test2() { File file1=new File("hello.txt"); File file2=new File("d:"+ File.separator+"orz"+File.separator+"info.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()); } @Test public void test3() { //文件需要真实存在,否则报错 File file3=new File("E:"+File.separator+"code"+File.separator+"java"); String [] list=file3.list(); for(String s:list) { System.out.println(s); } System.out.println(); File [] files=file3.listFiles(); for (File f:files) { System.out.println(f); } } /** * public boolean renameTo(File dest) //将文件重命名为指定文件路径 * 比如:file1.renameTo(file2)为例 * 要想保证放回true,需要file1在硬盘真实存在,且file2不能在硬盘中存在。 */ @Test public void test4() { File file1=new File("hello.txt"); File file2=new File("E:\\code\\java\\JAVADay1\\hi.txt"); boolean renameTo=file2.renameTo(file1); System.out.println(renameTo); } /** * public boolean isDirectory()//判断是否是文件目录 * public boolean isFile()//判断是否是文件 * public boolean exists()//判断是否存在 * public boolean canRead()//判断是否可读 * public boolean canWrite()//判断是否可写 * public boolean isHidden()//判断是否隐藏 */ @Test public void test5() { File file1=new File("hello.txt"); System.out.println(file1.isDirectory()); System.out.println(file1.isFile()); System.out.println(file1.exists()); System.out.println(file1.canRead()); System.out.println(file1.canWrite()); System.out.println(file1.isHidden()); } /** * 创建硬盘中对应的文件或文件目录 * public boolean createNewFile() //创建文件,如文件存在则不创建并返回false * * 删除磁盘中的文件或文件目录 * public boolean delete()//删除文件或文件夹 * 注意事项:java中删除文件不走回收站 */ @Test public void test6 () throws IOException { //文件创建 File file1=new File("hi.txt"); if(!file1.exists()) { boolean create=file1.createNewFile(); if(create) { System.out.println("创建成功"); } } else { boolean delete=file1.delete(); if(delete) { System.out.println("删除成功"); } } } /** *public boolean mkdir() //创建文件目录,如果文件目录存在,就不创建。如果此文件目录的上层目录不存在也不创建 *public boolean mkdirs() //创建文件目录,如果上层文件目录不存在,一并创建 * */ @Test public void test7 () throws IOException { //文件目录创建 File file1 = new File("E:\\code\\java\\test\\01"); boolean mkdir = file1.mkdir(); if (mkdir) { System.out.println("文件夹1创建成功"); } File file2 = new File("E:\\code\\java\\test2\\02"); boolean mkdir2 = file2.mkdirs(); if (mkdir2) { System.out.println("文件夹2创建成功"); } } }