从零开始学java(三十九)--File类的使用
File类的简单使用
java.io.File类:代表文件和目录。 在开发中,读取文件、生成文件、删除文件、修改文件的属性时经常会用到本类。
File类的常见构造方法:public File(String pathname)以pathname为路径创建File对象,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储。
代码示例
package File类;
import java.io.File;
import java.io.IOException;
import java.util.Date;
import com.sun.jdi.Field;
/**
* 测试File类的基本用法
* @author 与猫子
*
*/
public class TestFile {
public static void main(String[] args) throws IOException {
//斜杠
File file = new File("D:\\Eclipse-Workspace\\常用类\\src\\File类\\testfile.txt");
//反斜杠,一个\代表转义字符,故需要写两个,\\
File file2 = new File("D:\\Eclipse-Workspace\\常用类\\src\\File类\\aaa.txt");
System.out.println("直接输出只有路径字符串:"+file);
file.renameTo(new File("D:\\Eclipse-Workspace\\常用类\\src\\File类\\TTT.txt"));
System.out.println("重命名后:"+file);
//获取工作目录的位置
System.out.println(System.getProperty("user.dir"));
File f2 = new File("mm.txt");//不指定路径的时候,默认保存在工作目录下面
f2.createNewFile();
System.out.println("File是否存在:"+f2.exists());
System.out.println("File是否是目录:"+f2.isDirectory());
System.out.println("File是否是文件:"+f2.isFile());
System.out.println("File最后修改时间:"+new Date(f2.lastModified()));
System.out.println("File的大小:"+f2.length());
System.out.println("File的文件名:"+f2.getName());
System.out.println("File的目录路径:"+f2.getPath());
//使用mkdir和mkdirs创建目录
File file3 = new File("D:\\迅雷下载\\测试mkdir");
boolean flag =file3.mkdirs() ;//mkdirs可以创建多级目录
//不纠结目录结构是否完整
//mkdir同样能够创建目录,mkdir只要目录结构中有一个不存在,就不会创建整个目录树
//使用delete删除文件
System.out.println("删除file2文件: "+file2.delete());
}
}
遍历目录结构与树状展示
代码示例
package File类;
import java.io.File;
/**
* 使用递归算法打印目录树
* @author 与猫子
*
*/
public class TestMU_LU {
public static void main(String[] args) {
File file = new File("D:\\迅雷下载");
printFile(file,0);
}
static void printFile(File file,int level) {
//输出层数,表明附属关系
for(int tag = 0 ; tag< level;tag++) {
System.out.print("—");
}
System.out.println(file.getName());
if (file.isDirectory()) {//如果是目录
File[] files =file.listFiles();// listFiles()返回所有子目录和子文件
for(File temp:files) {
printFile(temp,level+1);
}//end--for
}//end--if
}//end--static void printFile(File file,int level)
}//end--public class TestMU_LU