File类整理
在计算机中不过两种文件,一种是文件夹,另一种是文件,在这两种的文件的组成下有了各个程序,而Java也是有对这两类文件有着操作。
File构造
在jdk中有File类,所以我们可以通过File直接构建File类
String filePath = "D:\\IOTest\\myTemp";
File file = new File(filePath);
其中filePath表示的是文件的路径名,
当然File还有另外两个构造器
public File(String parent,String child)
public File(File parent, String child)
第一个可以根据 parent和child 两个路径字符串来组成一个新的路径
String parent = "D:\\IOTest";
String child = "myTemp";
File file = new File(parent,child);
而第二个就可以根据传进去的File类的地址,在此向里进入
String filePath = "D:\\IOTest";
String child = "myTemp";
File file = new File(filePath);
File file2 = new File(file,child);
创建
创建主要分为两部分,一是创建文件,二是创建文件夹。
创建文件使用public boolean createNewFile()
可见这个函数会返回一个boolean变量。当文件不存在时,会创建文件并返回true,而如果文件已经存在的话就会返回false。因此我们一般会使用在if语句中判断是否创建成功
File file3 = new File(filePath+"\\homework.txt");
try {
if(file2.createNewFile()){
System.out.println("creat successfully");
}else{
System.out.println("It has existed");
}
} catch (IOException e) {
e.printStackTrace();
}
创建文件夹时常会使用public boolean mkdir() 或是 public boolean mkdirs()
与public boolean createNewFile()相同,他也会返回boolean。而mkdir()只会创建一个文件夹,而mkdirs()会创建多个。如果打个比方的话,mkdir()就是创建一个一层楼的平顶屋,而mkdirs()会建立一个高楼,有多层。
String filePath = "D:\\IOTest\\myTemp";
File file = new File(filePath);
if(!file.mkdir()){
System.out.println("文件夹已存在");
}else {
System.out.println("创建成功");
}
删除
使用public boolean delete(),也会返回是否删除成功。可以使用在文件或者是在文件夹
String filePath = "D:\\IOTest\\myTemp";
File file = new File(filePath);
if(file.delete()){
System.out.println("文件夹已删除");
}else {
System.out.println("删除失败");
}
一些判断
判断功能:
public boolean isDirectory():判断是否是文件夹
public boolean isFile() :判断是否是文件
public boolean canRead(): 是否可读
public boolean canWriter():是否可写
public boolean exists():文件是否存在
public boolean isHidden():是否是隐藏文件
其他
public String getPath():获取相对路径的字符串
public String getAbsolutePath():获取文件的绝对路径
public String getName()返回由此路径名表示的文件或目录的名称
**public long length()**返回由此抽象路径名表示的文件的大小(单位为B)(为什么我这加粗不了???)。
public String[] list() :获取当前某个路径下的所有的文件夹以及文件名称的字符串数组
public File[] listFiles() :获取当前某个路径下所有的文件夹以及文件的File数组