File类
File类
此类是Java.io中唯一代表磁盘文件本身的类
可以通过此方法,实现创建,删除,重命名文件等操作。该类的对象主要用来获取文件本身的一些信息。数据流可以将数据写进文件里,文件也是数据流最常用的数据媒体
文件的创建
File(String pathname)
该构造方法通过将给定的路径名字符串转换为抽象路径名来创建一个文件
//new File(String pathname)
//pathname代表路径名称(包含文件名)
File file=new File("d:/1.txt");
File(String parent,String child)
//new File(String parent,String child)
//parent:父路径字符串 例如:D:/或D:/doc
//child:子路径字符串 例如:letter.txt
File(File f,String child)
//new File(File f,String child)
//f:父路径对象 例如:D:/doc/
文件的删除
当使用File创建一个文件后,若不存在这个文件,File对象可通过调用createNewFile()方法创建一个名称为这个的文件;如果该文件存在,可通过文件对象的delete()方法将其删除
import java.io.File;
public class File01 {
public static void main(String[] args) {
File file = new File("C:\\Users\\Valder\\Desktop\\java笔记\\word.txt"); //创建文件对象
if(file.exists()){
file.delete();
System.out.println("文件已删除");
}else {
try{ //捕捉可能出现的异常
file.createNewFile();
System.out.println("文件已创建");
}catch(Exception e){
e.printStackTrace();
}
}
}
}
获取文件信息
常用方法
方法 | 返回值 | 说明 |
---|---|---|
getName() | String | 获取文件名称 |
canRead() | boolean | 判断文件是否为可读的 |
canWrite() | boolean | 判断文件是否可被写入 |
exits() | boolean | 判断文件是否存在 |
length() | long | 获取文件长度(以字节为单位) |
getAbsolutePath() | String | 获取文件的绝对路径 |
getParent() | String | 获取文件的父路径 |
isFile() | boolean | 判断抽象路径名表示的文件是否为一个标准文件 |
isDirectory() | boolean | 判断文件是否为一个目录 |
isHiddden() | boolean | 判断文件是否为隐藏文件 |
lastModified() | long | 获取文件最后修改时间 |
import java.io.File;
public class File01 {
public static void main(String[] args) {
File file = new File("C:\\Users\\Valder\\Desktop\\java笔记\\word.txt"); //创建文件对象
if(file.exists()){
String name= file.getName();
long length= file.length();
boolean hidden= file.isHidden();
System.out.println("文件名称:"+name);
System.out.println("文件长度:"+length);
System.out.println("是否为隐藏文件:"+hidden);
}else {
System.out.println("该文件不存在");
}
}
}
/*
文件名称:word.txt
文件长度:6
是否为隐藏文件:false
*/
mkdir():创建由抽象路径名表示的新目录,返回值为boolean,若创建目录,返回true,否则返回false
在相应位置创建20个文件夹,用数字1-20命名
import java.io.File;
public class File02 {
public static void main(String[] args) {
File file = new File("C:\\Users\\Valder\\Desktop\\java笔记\\新建文件夹");
if(!file.exists()){
file.mkdir();
}
for (int i = 1; i <= 20; i++) {
File file1 = new File(file, String.valueOf(i));
file1.mkdir();
}
System.out.println("创建完成");
}
}
要想删除只需要把两个mkdir改为delete即可
列出C盘Windows中所有文件(夹)
import java.io.File;
public class File03 {
public static void main(String[] args) {
File file = new File("C:\\Windows");
File fs[]=file.listFiles();//调出Windows中的文件(夹),存在一个数组中
for(File f: fs){ //遍历其中的文件(夹),判断是哪个,输出对应种类
if(f.isFile()){
System.out.print("文件:");
}else{
System.out.print("文件夹:");
}
System.out.println(f.getName());
}
}
}