以上所有的文件操作都是围绕文件进行的,但是在整个磁盘上除了文件之外,还会包含有使用的目录,对于目录而言,最常用的功能就是列出目录组成。
File类有两个方法:
列出目录下信息:public String[] list();
列出所有的信息以File类对象包装:public File[] listFiles()
列出信息:
public static void main(String[] args) throws Exception{
File file=new File("e:"+File.separator);
if(file.isDirectory()){
String result[]=file.list();
for (int i = 0; i < result.length; i++) {
System.out.println(result[i]);
}
}
}
此时的确可以列出目录中内容了,但是列出来的是目录下的子目录或文件的名字

范例:列出全部的File类对象
public static void main(String[] args) throws Exception{
File file=new File("e:"+File.separator);
if(file.isDirectory()){
File result[]=file.listFiles();
for (int i = 0; i < result.length; i++) {
System.out.println(result[i]);
}
}
}

很明显,第二种更加方便。
思考题:列出指定目录下的所有子路径
原则:如果现在给定的路径依然是一个目录,则应该向里面列出所有的组成(使用递归)
public class TestDemo{
public static void main(String[] args) throws Exception{
File file=new File("e:"+File.separator+"网易云音乐");
print(file);
}
public static void print(File file){
if(file.isDirectory()){//如果路径是目录
File result[]=file.listFiles();//列出子目录
if (result != null) {
for (int i = 0; i < result.length; i++) {
print(result[i]);
}
}
}
System.out.println(file);
}
}
读取网易云音乐目录下所有文件,包括所有的二级,多级目录
总结
1.File类本身只是操作文件的,不涉及到内容
2.File类中的重要方法
(1)设置完整路径:public File(String pathname)
(2)删除文件:public boolean delete();
(3)判断文件是否存在:public boolean exists()
(4)找到父路径:public File getParentFile()
(5)创建目录:public boolean mkdirs();
3.在使用File类操作的时候,路径的分隔符使用File.seperator
网友评论