File类的基本用法
java.io.File类:代表文件和目录,在开发中,读取文件、生成文件、删除文件、修改文件属性经常会用到本类。
File类的常用构造方法:
public File(String pathname)
File类访问属性的方法:
示例:
public class _12TestFile {
public static void main(String[] args) {
// TODO Auto-generated method stub
File f = new File("d:/test/文件目录");
System.out.println(f);
// 改名操作
f.renameTo(new File("d:/test/文件目录2"));
System.out.println(System.getProperty("user.dir")); // 用户空间
File f2 = new File("gg.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.getAbsolutePath());
File f3 = new File("d:/电影/华语/大陆");
// boolean flag = f3.mkdir(); //目录结构中有一个不存在,则不会创建整个目录树
boolean flag = f3.mkdirs();//目录结构中有一个不存在也没关系;创建整个目录树
System.out.println(flag);//创建失败
}
}
File不能访问文件内容
File file = new File("d:\\test\\java.txt");
File file = new File("d:/test/java.txt");
File file = new File("java.txt");
路径可以是绝对路径和相对路径,分隔符采用\\或者/
通过File对象可以访问文件的属性
public String getName();
public String getPath();
public boolean isFile();
public boolean isDirectory();
public boolean canRead();
public boolean canWrite();
public boolean exists();
public long length();
public boolean isHidden();
public long lastModified();
public File [] listFiles();
通过File对象创建空文件或目录(在该对象所指的文件或目录不存在的情况下)
public boolean createNewFile()throws IOException{
public boolean delete()
public boolean mkdir(), mkdirs() // 注意两个的区别!!
}
使用mkdirs创建目录:
import java.io.File;
public class TestFile3 {
public static void main(string] args) throws Exception {
File f=newFile("d:/c.txt");
f.createNewFile(); //会在d盛下而生戌c.txt文件
f.delete(); //将该文件或者目录从硬盘中删除
File f2 = new File("d:/申影/隼珸/大随");
boolean f1ag = f2.mkdir(); //目录结构中有一个不存在,则不会创建整个目录树
system.out.print1n(f1ag);//创建失败
}
}
综合示例:
import java.io.File;
import java.io.IOException;
public class _13TestFile2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 指定一个文件
File file = new File("d:/text");
// 判断该文件是否存在
boolean flag = file.exists();
// 如果存在就删除,不存在就创建
if (flag) {
// 删除
boolean flagd = file.delete();
if (flagd) {
System.out.println("删除成功");
} else {
System.out.println("删除失败");
}
}else{
// 创建
boolean flagn = true;
try{
// 如果目录不存在先创建目录
File dir = file.getParentFile();
dir.mkdirs();
// 创建文件
flagn = file.createNewFile();
System.out.println("创建成功");
}catch(IOException e){
System.out.println("创建失败");
e.printStackTrace();
}
}
// 文件重命名
// file.renameTo(new File("d:/readme.txt"))
}
}