2020.7.31
一、今日学习内容
1、文件
(1)文件操作
Java中文件操作的所有类都在java.io这个包里面,该包下面有一个File类,可以操作文件该类给人一种误解,当大家第一眼看到这个File 类时,会想到File类可以读写 文件,这是错误的。因为Java提供的File类,只能创建文件、删除文件、对文件属性进行操作,并不能对文件里面的内容进行读写操作。
用户在磁盘上寻找文件时,所历经的文件夹线路叫路径。路径分为绝对路径和相对路径。
#绝对路径:从根文件夹开始的路径,以“\” 作为开始。
#相对路径:从当前文件夹开始的路径。
在windows中路径的分割线是“/”或“\"; 在Linux或Unix中路径的分割线是“/”。
例如,C盘下面有一个文件夹叫Hello,用路径就可以这样表示:C:/Hello
如果C盘下面的文件夹Hello下面有一个文件名叫“Hello.java”, 那么,相对于Hello .文件夹,就可以这样写:Hello.java
File类常见的构造方法:
File类常见的方法:
示例:文件常见属性操作
import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; public class FileDemo { public static void main(String[] args)throws IOException { testFile(); } public static void testFile()throws IOException{ Scanner con=new Scanner(System.in); System.out.println("1、查看文件属性"); System.out.println("2、删除文件"); File file=new File("F:","Hello.java"); String line=con.nextLine(); if(line.equals("2")) { file.deleteOnExit(); return; } if(!file.exists()) file.createNewFile(); //判断是否可以执行 String canExe = file.canExecute()?"可以执行":"不可以执行"; //判断是否可读 String canRead = file.canRead()?"可以读":"不可以读"; //判断是否可写 String canWrite = file.canWrite() ?"可以写":"不可以写"; //绝对路径 String abFile = file. getAbsolutePath(); //获取父目录 String parent = file. getParent() ; //判断是否为文件 String isFile= file.isFile() ?"是文件":"是文件夹"; //判断是否为绝对路径 String isAb=file.isAbsolute () ?"是绝对路径": "相对路径"; //判断是否为文件夹 String isDir = file. isDirectory() ?"是文件夹":"是文件"; //判断是否为隐藏 String isHidden = file.isHidden()?"隐藏文件":"不是隐藏文件"; //文件的长度 long len = file.length() ; //最后一次修改时间 SimpleDateFormat sft = new SimpleDateFormat ("yyy-MM-dd hh:mm:ss"); String lastMod = sft. format (new Date (file.lastModified())); System.out.println(canExe) ; System.out.println(canRead); System.out.println(canWrite); System.out.println("绝对路径: "+abFile) ; System.out.println("父目录:"+parent) ; System.out.println(isFile) ; System.out.println(isAb) ; System.out.println(isDir) ; System.out.println(isHidden) ; System.out.println(len) ; System.out. println("最后一次修改时间: " +lastMod) ; } }
(2)目录管理
File类中有一个listFiles()方法可 以搜索出某个目录下面所有的方法,但是目录下面还有目录,也是要搜索的,这时可以使用递归。以下代码演示了如何搜索整个目录。
示例:搜索整个目录
import java.io.File; public class ListFile { public static void main(String[l args) { File f= new File("D:\\file\\D\\hfsd1302101 basic"); list (f) ; } public static void list(File file) { File[] fs=file.listFiles() ; for(File f:fs) { if (f. isDirectory()) { list(f) ; } System. out. println(f. getAbsolutePath()) ; } } }
输出结果示例:
二、今日学习内容
对文件类相关的方法还没有记住
三、明日计划
继续学习第12章的内容