1、File类初识
java中对文件和目录的操作都是通过File类操作的,新建、删除、命名操作都可以,但是如果想要访问文件的内容,就不能靠File类了,还要需要输入输出流。
2、文件常用方法:
.exist() 判断文件/文件夹是否存在。
.delete() 删除文件/文件夹。
.separator 设置分隔符。(\\或/)
.isFile() 判断是否为文件。(若文件不存在,也返回false)
.createNewFile() 创建文件。
.getAbsolutePath() 返回绝对路径。
.getName() 返回文件/目录的名字。
.getParent() 返回父目录路径。
.length()获取文件的大小(字节数),如果文件不存在返回0L,如果是文件夹也返回OL.
.lastModified()获取最后一次修改的时间。
.isHidden()是否是一个隐藏的文件或是否是隐藏的目录。
代码演示:
import java.io.File
public class File_Test{
//文件的操作
public static void main(String []args){
//windows下的路径:
File file = new File("D:\\test\\java.txt");
/*linux下的路径:
File file = new File("D:/test/java.txt");
如果要考虑跨平台:
File file = new File("D:"+File.separator + "test" +File.separator +"java.txt")
*/
if(file.exists()){
//文件存在就删除
System.out.println("this file has existed!");
file.delete();//删除文件
}else{
//如果文件不存在,就创建新的
file.createNewFile();
}
System.out.println(file.isFile());//判断一个file是否为文件
System.out.println(file.getAbsolutePath());//返回file的绝对路径
}
}
3、文件夹的常用方法
.mkdir() 创建一级文件夹。 .mkdirs() 创建多级目录。
.isDirectory() 判断是否为目录。(若目录不存在,也返回false)
.exist() 判断文件/文件夹是否存在。 .delete() 删除文件/文件夹。
list()方法返回的是目录下的直接文件或目录的名称,包含隐藏文件。
listFile()方法返回的是目录下的文件或目录实例。
文件夹常用方法代码演示:
import java.io.File public class Direc_Test{ //文件夹的操作,以遍历一个目录为例 public static void Directorylist(File dir)throws IOException{ if(!dir.exists()){ System.out.println("该目录不存在!"); dir.mkdir();//创建一级文件夹:D:\\java 只有一个java文件夹 D:\\java\\test 不会创建成功 dir.mkdirs();// D:\\java\\test 创建成功 两个文件夹 } else if(!dir.isDirectory()){ System.out.println("这不是个目录"); } else{ //遍历直接子文件 String[] filenames = dir.list(); // 返回的是字符串数组 直接子的名称 不包含子目录下的内容 for (String string : filenames) { System.out.println(dir + ":\\" + string); } //遍历整个文件,包括子文件夹下的文件 // 如果要遍历子目录下的内容就需要构造成File对象做递归操作,File提供了返回File对象的API File[] files = dir.listFiles(); // 返回的是直接子目录(文件)的抽象 if(files!=null && files.length > 0){ for (File file : files) { if(file.isDirectory()){ // 递归 Directorylist(file); }else{ System.out.println(file); } } } } }
其中File的操作时会遇到IOException,关于异常请看http://blog.csdn.net/jin970505/article/details/78422468