File: 操作文件的类
File(String pathname)
通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
例子:
import java.io.File;
public class Demo {
public static void main(String[] args) {
File file = new File("D:\\test.txt");
}
}
File(String parent, String child)
从父路径名字符串和子路径名字符串创建新的 File实例。
例子:
import java.io.File;
public class Demo {
public static void main(String[] args) {
File file = new File("D:\\", "test.txt");
}
}
File(File parent, String child)
从父抽象路径名和子路径名字符串创建新的 File实例。
import java.io.File
public class Demo {
public static void main(String[] args) {
File file = new File("D:\\");
File file2 = new File(file, "test.txt");
}
}
File(URI uri)
通过将给定的 file: URI转换为抽象路径名来创建新的 File实例。
import java.io.File;
import java.net.URI;
import java.net.URISyntaxException;
public class Demo {
public static void main(String[] args) throws URISyntaxException {
//有异常, 可以选择抛出或者捕捉, 这里选择抛出
File file = new File(new URI("http://docs.oracle.com"));
}
}
不同系统中的文件格式不一样,为了方便可以获取系统的相关符号
例子:
import java.io.File;
public class Demo {
public static void main(String[] args) {
File file = new File("D:"+File.separator+"test.txt");
String srt = file.getAbsolutePath();
System.out.println(srt);
}
}
运行结果: D:\test.txt
File常用方法:
- 获取
- 创建与删除
- 判断
- 重命名
- 获取系统根目录 与 容量获取
File常用的方法(一)
1.获取
1.1 获取文件名: getName();
1.2 获取文件绝对路径: getAbsolutePath();
1.3 获取文件相对路径: getPath();
1.4 获取文件的大小(字节): length();
1.5 获取文件修改的最后一次时间(毫秒): listModified()
例子:
import java.io.File;
public class Demo {
public static void main(String[] args) {
File file = new File("test.txt");
String name = file.getName();
String absPath = file.getAbsolutePath();
String path = file.getPath();
long len = file.length();
long time = file.lastModified();
System.out.println("name: "+name);
System.out.println("absPath: "+absPath);
System.out.println("path: "+path);
System.out.println("len: "+len);
System.out.println("time: "+time+"毫秒");
}
}
运行结果:
File常用的方法(二)
2.创建和删除
2.1 创建 :
mkdir(); 创建一个文件目录
mkdirs(): 创建多级文件目录
2.2 删除
delete(); 删除目录
例子(一):
mkdir(); 创建一个文件目录
import java.io.File;
public class Demo {
public static void main(String[] args) {
File file = new File("E:\\abc");
boolean b = file.mkdir();
System.out.println(b);
}
}
运行结果: true
如果在创建一次显示false
这里和IO输出流不同
–IO输出流如果没有就创建…如果有,就把原本的覆盖
–File类这里是如果不存在就创建…如果存在就不创建
例子(二):
mkdirs(): 创建多级文件目录
import java.io.File;
public class Demo {
public static void main(String[] args) {
File file = new File("E:\\a\\c\\dd\\c");
boolean b = file.mkdirs();
System.out.println(b);
}
}
运行结果: true
打开E盘查看
例子(三)-1:
delete(); 删除目录
删除例子(一)的目录
import java.io.File;
public class Demo {
public static void main(String[] args) {
File file = new File("E:\\abc");
boolean b = file.delete();
System.out.println(b);
}
}
运行结果: true
例子(三)-2:
delete(); 删除目录
删除例子(二)的目录
import java.io.File;
public class Demo {
public static void main(String[] args) {
File file = new File("E:\\a\\c\\dd\\c");
boolean b = file.delete();
System.out.println(b);
}
}
运行结果: true
例子(三)-3:
delete(); 删除目录
删除例子(二)的目录
但是在最里面的文件夹中加入一个kkk.txt文本文件
import java.io.File;
public class Demo {
public static void main(String[] args) {
File file = new File("E:\\a\\c\\dd\\c");
boolean b = file.delete();
System.out.println(b);
}
}
运行结果: false
因为删除总是由内到外的…因为里面有文件所有删除失败…必须把里面的文件先删了才能删除目录
File常用的方法(三)
3.判断
3.1 判断抽象路径名是否是绝对路径 isAbsolute()
3.2 判断此抽象路径名表示的文件是否为目录 isDirectory()
3.3 判断此抽象路径名表示的文件是否为普通文件 isFile()
3.4 判断文件是否存在,如果不存在就创建 createNewFile()
....
....
例子(一):
演示 :
3.1
3.2
3.3
import java.io.File;
public class Demo {
public static void main(String[] args) {
//这个本身已经存在了
File file = new File("D:\\test\\data.txt");
System.out.println(file.isAbsolute());
System.out.println(file.isDirectory());
System.out.println(file.isFile());
}
}
运行结果:
例子(二):
演示:
3.4
有异常…选择抛出或者捕捉
import java.io.File;
import java.io.IOException;
public class Demo {
public static void main(String[] args) throws IOException {
//这个本身不存在的
File file = new File("D:\\test\\xixi.txt");
System.out.println(file.createNewFile());
}
}
运行结果: true
运行多一次的话,运行结果: false
因为已经存在了
File常用的方法(四)
重命名: renameTo()
例子:
File f1 = new File("D:\\name.mp3");
File f2 = new File("D:\\newName.mp3");
boolean b = f1.renameTO(f2);
System.out.println("b = "+b);
运行结果:true
把D盘下的name.mp3这首歌的名字换成newName.mp3
如果是在两个不同的盘下…相当于剪切
File常用的方法(五)
5 获取系统根目录 与 容量获取
5.1 返回分区未分配的字节数 getFreeSpace()
5.2 通过此抽象路径名返回分区内存的大小 getTotalSpace()
5.3返回上的分区提供给该虚拟机的字节数 getUsableSpace()
File file = new File("D:\\");
System.out.println("getFreeSpace: "+file.getFreeSpace());
System.out.println("getTotalSpace: "+file.getTotalSpace());
System.out.println("getUsableSpace: "+file.getUsableSpace());