一、今日学习
1.文件
(1)作用 :保存相关内容
(2)类型:可执行文件、图像文件、命令文件、声音文件等
2.文件操作
(1)Java中文件操作的所有类都在java.io这个包里面,该包下面有一个File类,这个类只能创建文件、删除文件、对文件属性进行操作,并不能对文件里面的内容进行读写操作。
(2)用户在磁盘上寻找文件时,所经历的文件夹线路叫路径。路径分为绝对路径和相对路径。
-
绝对路径:从根文件夹开始的路径,以“\”作为开始。
-
相对路径:从当前文件夹开始的路径。
在windows中路径的分割线是“/”或“\\”;在Linux或Unix中路径的分割线是“/”。
(3)File类常见构造方法
FIle类常见的方法
(4)示例
1 package helloworld; 2 import java.io.File; 3 import java.io.IOException; 4 import java.text.SimpleDateFormat; 5 import java.util.Date; 6 import java.util.Scanner; 7 public class study{ 8 public static void main(String[] args) throws IOException{ 9 testFile(); 10 } 11 public static void testFile() throws IOException{ 12 Scanner con=new Scanner(System.in); 13 System.out.println("1.查看文件属性"); 14 System.out.println("2.删除文件"); 15 //第一步,创建file对象 16 File file=new File("D:","Hello.java"); 17 //如果选择2就删除文件 18 String line=con.nextLine(); 19 if(line.equals("2")) { 20 file.deleteOnExit(); 21 return; 22 } 23 //第二步,进行相应的操作 24 //如果文件不存在,创建一个新文件 25 if(!file.exists()) 26 file.createNewFile(); 27 //判断是否可以执行 28 String canExe=file.canExecute()?"可以执行":"不可以执行"; 29 //判断是否可读 30 String canRead=file.canRead()?"可以读":"不可以读"; 31 //判断是否可写 32 String canWrite=file.canWrite()?"可以写":"不可以写"; 33 //绝对路径 34 String abFile=file.getAbsolutePath(); 35 //获取父目录 36 String parent=file.getParent(); 37 //判断是否为文件 38 String isFile=file.isFile()?"是文件":"是文件夹"; 39 //判断是否为绝对路径 40 String isAb=file.isAbsolute()?"是绝对路径":"相对路径"; 41 //判断是否为文件夹 42 String isDir=file.isDirectory()?"是文件夹":"是文件"; 43 //判断是否为隐藏 44 String isHidden=file.isHidden()?"隐藏文件":"不是隐藏文件"; 45 //文件的长度 46 long len=file.length(); 47 //最后一次修改时间 48 SimpleDateFormat sft=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); 49 String lastMod=sft.format(new Date(file.lastModified())); 50 System.out.println(canExe); 51 System.out.println(canRead); 52 System.out.println(canWrite); 53 System.out.println("绝对路径:"+abFile); 54 System.out.println("父目录:"+parent); 55 System.out.println(isFile); 56 System.out.println(isAb); 57 System.out.println(isDir); 58 System.out.println(isHidden); 59 System.out.println(len); 60 System.out.println("最后一次修改时间:"+lastMod); 61 } 62 }
3.目录管理
File类中有一个listFIles()方法可以搜索出某个目录下面所有的方法,但是目录下面还有目录,也是要搜索的,这时可以使用递归。
1 package helloworld; 2 import java.io.File; 3 public class study{ 4 public static void main(String[] args){ 5 File f=new File("D:\\java\\Java\\jdk-12.0.1\\release"); 6 list(f); 7 } 8 public static void list(File file) { 9 File[] fs=file.listFiles(); 10 for(File f:fs) { 11 if(f.isDirectory()) { 12 list(f); 13 } 14 System.out.println(f.getAbsolutePath()); 15 } 16 } 17 }
二、遇到问题
无
三、明日学习
Java字节流和字符流