java之File文件类
File文件类简介
File类定义了一些与平台无关的方法来操作文件,包括对文件的创建、删除、重命名等。还可以用来获取文件本身的信息,如文件所在目录、文件的长度、文件读写权限等。注意,如果要对文件进行读写的话,需要数据流类来执行。File类本身不提供接口进行读写。
标准文件
- 创建代理
File s =new File("te.txt")
如果文件名前面…/则代表在项目的前一级目录中,如果在文件名前面有两个…/…/则是将文件创建在项目目录的前两级目录中
- 创建文件
- 当且仅当不存在具有此抽象路径指定名称的文件时,不可分的创建一个新的空文件。常与exist()函数搭配起来使用
import java.io.File;
import java.io.IOException;
public class FileTest {
public static void main(String[] args) {
File file = new File("D:\\test","test6.txt");
if(file.exists()){
file.delete() ;
System.out.println("文件已删除!");
}else {
try {
file.createNewFile() ;
System.out.println("文件已创建!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
- 判断文件是否存在
//承接上面的代码
s.exist() //返回的是布尔值
- 删除文件
s.delete()
- 检验文件
- isDirectory()用来测试此抽象路径名表示的文件是否是一个目录。
- isFile()测试此抽象路径名表示的文件是否是一个标准文件。
- 重命名文件
- 首先要创建新的代理
File nameto = new File("../new hello.txt")
- 将代理传给原来的文件
file.renameTo(nameto)
- 代码示例
import java.io.File;
import java.io.IOException;
public class FileTest {
public static void main(String[] args) {
//创建文件代理
File f = new File("E:\\yufa\\src","1.txt");
//创建判断文件是否存在
System.out.println("文件是否存在"+f.exists());
//删除文件
//f.delete();
//System.out.println("文件是否存在"+f.exists());
//重命名文件
File rename = new File("E:\\yufa\\src","2.txt");
if(f.exists()){
f.renameTo(rename);
}else {
try {
f.createNewFile();
f.renameTo(rename);
System.out.println(f.getName());
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
- 运行结果
文件是否存在false
- 文件结构
目录文件
- 创建
- mkdir()方法,返回值为布尔类型。如果创建的文件夹已经存在,就会返回一个false;但是必须存在父目录,如果不存在父目录,那么将创建失败;
- 父目录存在
- 代码
import java.io.File;
public class FileTestTwo {
public static void main(String[] args) {
File f =new File("E:/yufa/src/","newfolder");
if(f.exists()){
System.out.println("此文件夹已经存在");
}else {
if(f.mkdir()){
System.out.println("文件创建成功");
}
}
}
}
- 结果
文件创建成功
- 文件目录
- 父目录不存在
import java.io.File;
public class FileTestThree {
public static void main(String[] args) {
File f =new File("E:/yufa/src/C","newfolder");
if(f.exists()){
System.out.println("此文件夹已经存在");
}else {
if(f.mkdir()){
System.out.println("文件创建成功");
}else{
System.out.println("无法创建文件夹");
}
}
}
}
- 运行结果
无法创建文件夹
- mkdirs()方法,如果父目录不一定存在,如果不存在,那么会将父目录一并创建。
- 父目录不存在
import java.io.File;
public class FileTestThree {
public static void main(String[] args) {
File f =new File("E:/yufa/src/C","newfolder");
if(f.exists()){
System.out.println("此文件夹已经存在");
}else {
if(f.mkdirs()){
System.out.println("文件创建成功");
}else{
System.out.println("无法创建文件夹");
}
}
}
}
- 执行结果
- 删除
//例如:
f.delete();
- 重命名
//进入了
import java.io.File;
public class FileTestFour {
public static void main(String[] args) {
File file =new File("my new folder/one/two/three/four");
if(file.exists()){
System.out.println("此文件夹已经存在");
}else {
if(file.mkdirs()){
System.out.println("文件创建成功");
}
}
File newfile =new File("my new foloder/one/two/three/my_new_folder");
if(file.renameTo(newfile)){
System.out.println("重命名成功");
}
}
}
- 结果
文件创建成功
file类不能实现对文件的读写,数据流类可以实现文件的读写