一、今日学习内容:
1、文件
(1)文件操作
Java中文件操作的所有类都在java.io这个包里面,该包下面有一个File类,可以操作文件该类给人一种误解,当大家第一眼看到这个File 类时,会想到File类可以读写 文件,这是错误的。因为Java提供的File类,只能创建文件、删除文件、对文件属性进行操作,并不能对文件里面的内容进行读写操作。
用户在磁盘上寻找文件时,所历经的文件夹线路叫路径。路径分为绝对路径和相对路径。
#绝对路径:从根文件夹开始的路径,以“” 作为开始。
#相对路径:从当前文件夹开始的路径。
在windows中路径的分割线是“/”或“"; 在Linux或Unix中路径的分割线是“/”。
例如,C盘下面有一个文件夹叫Hello,用路径就可以这样表示:C:/Hello
如果C盘下面的文件夹Hello下面有一个文件名叫“Hello.java”, 那么,相对于Hello .文件夹,就可以这样写:Hello.java
(2)目录管理
File类中有一个listFiles()方法可 以搜索出某个目录下面所有的方法,但是目录下面还有目录,也是要搜索的,这时可以使用递归。以下代码演示了如何搜索整个目录。
注:java对文件的基本操作如下;
package cn.edu.fhj.day009.FileDemo;
import java.io.File;import java.io.IOException;public class FileDemo { public static void main(String[] args) throws IOException { // 将路径描述成File对象 // File file = new File("d:/java_fd_test/fileDemo.txt"); File file = new File( "F:/up_mouth_10/code_data/Data_Structure_And_Algorithm"); boolean exists = file.exists(); // 如果路径所表示的文件或者文件夹存在,则返回true System.out.println(exists); // 判断该file是文件夹还是文件 boolean directory = file.isDirectory(); System.out.println(directory); // true boolean ifFile = file.isFile(); System.out.println(ifFile); // false // 获取文件的绝对路径 String absolutePath = file.getAbsolutePath(); System.out.println(absolutePath); // 可以获取文件名或文件夹名 String name2 = file.getName(); System.out.println(name2); File file2 = new File( "F:/up_mouth_10/code_data/Data_Structure_And_Algorithm/Demo.txt"); ifFile = file2.isFile(); // true System.out.println(ifFile); // 获取文件名 String name = file2.getName(); System.out.println(name); // 获取上一级目录的file对象 File parentFile = file2.getParentFile(); System.out.println(parentFile.getAbsolutePath()); // 获取上一级目录的路径字符串 String parent = file2.getParent(); System.out.println(parent); // 获取文件长度 字节(8个bit-- 二进制位) long length = file2.length(); System.out.println(length); System.out.println("------------------------"); // 获取指定目录下的子节点的名称字符串 String[] list = file.list(); for (String s : list) { System.out.println(s); } System.out.println("------------------------"); // 获取指定目录下的子节点的File描述对象 File[] listFiles = file.listFiles(); for (File f : listFiles) { System.out.println(f.getAbsolutePath()); } System.out.println("------------------------"); // 创建一个文件夹 File f = new File( "F:/up_mouth_10/code_data/Data_Structure_And_Algorithm/xx/yy/zz"); // boolean mkdir = f.mkdir(); // 不能创建多级目录 // System.out.println(mkdir); // boolean mkdirs = f.mkdirs(); // 可以创建多级目录 // System.out.println(mkdirs); // // // 创建文件 File file3 = new File( "F:/up_mouth_10/code_data/Data_Structure_And_Algorithm/xx/yy/zz/cls.txt"); boolean createNewFile = file3.createNewFile(); System.out.println(createNewFile); // 重命名文件:其实可以把路径都给改了 file3.renameTo(new File( "F:/up_mouth_10/code_data/Data_Structure_And_Algorithm/xx/yy/zz/cls001.txt")); // 删除文件 boolean delete = file3.delete(); System.out.println(delete); }}二、遇到的问题:
不理解文件操作流程。
三、明日学习计划:
继续学习第十二章的知识,继续阅读《大道至简》。