Java.io.File
Posted 假寐的我
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java.io.File相关的知识,希望对你有一定的参考价值。
File 文件:
Java.io.File用于标识文件(目录)
File类只用于表示文件(目录)的信息(名称、大小等),不能用于文件内容的访问。
File类常用的API: exists()判断是否存在 mkdir()创建目录 createNewFile()创建文件 getAbsolutePath() getParent()获取地址
File类用于判断文件或目录,以及创建他们
File.separator 设置分隔符
package com.zhao.file;
import java.io.File;
import java.io.IOException;
import java.nio.file.*;
public class FileDemo{
public static void main(String[] args) {
//了解构造函数的情况 查帮助
java.io.File directory=new java.io.File("D:\\imooc");
// System.out.println(file.exists());
if (!directory.exists()) {
//创建目录
directory.mkdir();
}
else{
directory.delete();
}
File file=new File("D:"+File.separator+"imooc"+File.separator+"日记.txt");
if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else{
file.delete();
}
System.out.println(file);
System.out.println(file.getAbsolutePath());
System.out.println(file.getParentFile());
System.out.println(file.getParent());
System.out.println(file.getPath());
}
}
创建FileUitl类,实现目录遍历的功能
/**
* 列出指定目录下(包括其子目录)的所有文件
* @param dir:指定目录
* @throws IOException
*/
public static void listDirectory(File dir) throws IOException{
if (!dir.exists()) {
System.out.println("指定目录不存在,查询失败");
}
else if (!dir.isDirectory()) {
System.out.println("传递的参数有误,不是目录");
}
else{
//返回的是直接子目录(文件)的抽象
File[] files=dir.listFiles();
for(File file:files){
if (file.isDirectory()) {
System.out.println("Directory :"+file.getName()+", "+file.getAbsolutePath()+"---> Parent :"+file.getParent());
//递归
listDirectory(file);
}
else if(file.isFile()){
System.out.println("File :"+file.getName()+", "+file.getAbsolutePath());
}
}
}
}
在此方法中,先判断传入的文件dir是否存在,是否是目录。
在dir是目录的情况下,dir.listFiles()方法返回该目录下所有的子文件(目录)的抽象
此时仍需要判断File[] 中的每个File是文件还是目录,是文件还好,是目录的话进行递归操作。
listDirectory(File)循环调用,对所有目录都进行遍历
至此FiltUtil的listDirectory完成,并不复杂,重温了递归操作。
以上是关于Java.io.File的主要内容,如果未能解决你的问题,请参考以下文章