一、File类的简单用法以及注意事项:
1.File类只用于表示文件的信息,大小,不能用于文件的访问;
2.注意区分文件和目录;文件一般带有明显是后缀,如.txt文件,.doc文件等;二目录一般是文件夹,不带有后缀;
3.File类的简单使用:
注意file.mkdir()和file1.createNewFile()方法的使用,一个用于创建目录,一个用于创建文件
import java.io.File;
import java.io.IOException;
public class FileDemo {
public static void main(String[] args) throws IOException {
File file = new File("e:\\BlueSky");//创建的是目录
if(!file.exists())
file.mkdir(); //如果目录不存在,则创建目录
System.out.println(file.isDirectory());
System.out.println(file.isFile());
System.out.println(file.getAbsolutePath());
File file1 = new File("e:\\bluesky.txt");//创建的是文件
if(!file1.exists()) file1.createNewFile();//文件不存在,则创建文件
System.out.println(file1.isDirectory());
System.out.println(file1.isFile());
System.out.println(file1.getAbsolutePath());
}
}
File类提供的List()和listFile()方法,可以用于目录的遍历;
需要注意的是:List()方法只能遍历目录下的文件和目录,如果该目录下还存在子目录,则不能遍历子目录下的文件;
listFile()方法直接返回子目录的抽象,递归调用,可以遍历所有的文件
List()方法的使用:
import java.io.File;
public class FileList {
//列出指定目录以及子目录的所有文件
public void ListDir(File dir){
if(!dir.exists())
throw new IllegalArgumentException("目录"+dir+"不存在!");
if(!dir.isDirectory())
throw new IllegalArgumentException(dir+"不是目录");
String [] filenames=dir.list();
for(String str:filenames){
System.out.println(dir+"\\"+str);
}
}
public static void main(String[] args) {
FileList fl = new FileList();
File file = new File("e:\\6.实验报告汇总");
fl.ListDir(file);
}
}
List()方法的运行结果:
listFile()方法的使用:
import java.io.File;
public class FileList {
//列出指定目录以及子目录的所有文件
public void ListDir(File dir){
if(!dir.exists())
throw new IllegalArgumentException("目录"+dir+"不存在!");
if(!dir.isDirectory())
throw new IllegalArgumentException(dir+"不是目录");
File [] files =dir.listFiles();
for(File file :files){
if(file.isDirectory()) ListDir(file);
else
System.out.println(file);
}
}
public static void main(String[] args) {
FileList fl = new FileList();
File file = new File("e:\\6.实验报告汇总");
fl.ListDir(file);
}
}
listFile()方法运行结果: