File类
定义
-
File类是为文件这块的操作而设计
-
File类在java.io包中,其实现了Serializable, Comparable两大接口分别便于其对象可序列化和比较
-
File:用于表达java中的路径名
构造方法
public File(String pathname) {
...
}
//将一个字符串描述的路径,封装成一个 File对象。
public File(String parent, String child) {
...
}
//将两个字符串(父级路径, 子级路径),拼接之后形成的路径封装成一个File对象。
public File(File parent, String child) {
...
}
//将File类型的父级路径和String类型的字节路径拼接成一个新路径,封装成File对象
public File(URI uri) {
...
}
//通过将给定的文件URI转换为抽象路径名来创建新的文件实例。
注意!!!
创建好File对象后,只是封装了一个路径, 和磁盘上是否有这个路径无关。
常用成员方法
创建相关方法
public boolean createNewFile() throws IOException {
...
}
//创建文件
public boolean mkdir() {
}
public boolean mkdirs() {
}
//以上两个都是创建文件夹
方法测试:
package com.Down;
import java.io.*;
public class Down {
public void creatFile()throws IOException {
File file = new File ("D:/creatFile");
file.mkdir ();
File file1 = new File (file,"creatFiles.txt");
file1.createNewFile ();
}
}
package com.Test;
import com.Down.Down;
import com.Down2.Down2;
public class Test {
public static void main (String[] args) {
Down d = new Down ();
try {
d.creatFile ();
}catch (Exception e){
e.printStackTrace ();
}
}
}
结果:
删除
public boolean delete() {}
测试:
package com.Down;
import java.io.*;
public class Down {
private File file = new File ("D:/creatFile");
private File file1 = new File (file,"creatFiles.txt");
public void creatFile()throws IOException {
file.mkdir ();
file1.createNewFile ();
}
public void deFile() throws IOException{
creatFile ();
file1.delete ();
}
}
package com.Test;
import com.Down.Down;
import com.Down2.Down2;
public class Test {
public static void main (String[] args) {
Down d = new Down ();
try {
d.deFile ();
}catch (Exception e){
e.printStackTrace ();
}
}
}
结果:
重命名
public boolean renameTo(File dest) {
}
注意事项:
1.方法的调用者,是一个File对象,方法的参数是另外一个File对象
2.调用者是当前修改之前的路径对象,参数是要修改为的路径对象
3.如果改了父级路径,就是剪切,如果不改父级路径就是重命名
测试:
package com.Test;
import com.Down.Down;
import com.Down2.Down2;
import java.io.IOException;
public class Test {
public static void main (String[] args) {
Down d = new Down ();
try {
d.removeFile ();
}catch (IOException e){
e.printStackTrace ();
}
}
}
package com.Down;
import java.io.*;
public class Down {
private File file = new File ("D:/creatFile");
private File file1 = new File ("D:/creatFile2");
private File file2 = new File (file,"creatFiles.txt");
private File file3 = new File (file1,"helloworld1.txt");
public void removeFile() throws IOException{
creatFile ();
file1.mkdir ();
file3.createNewFile ();
file3.renameTo (file1);
}
}
判断功能
public boolean isFile() {
}
//判断调用者是否是一个文件
public boolean exists() {
}
//判断调用者路径是否存在
public boolean isDirectory() {
}
//判断调用者是否是一个文件夹
package com.Test;
import com.Down.Down;
import com.Down2.Down2;
import java.io.IOException;
public class Test {
public static void main (String[] args) {
Down d = new Down ();
try {
d.chack1 ();
}catch (Exception E){
E.printStackTrace ();
}
try {
d.chack2 ();
}catch (IOException e) {
e.printStackTrace ();
}
}
}
package com.Down;
import java.io.*;
public class Down {
private File file = new File ("D:/creatFile");
private File file1 = new File ("D:/creatFile2");
public void chack1() {
System.out.println(file1.exists());
System.out.println(file1.isFile());
System.out.println(file1.isDirectory());
}
public void chack2() throws IOException{
creatFile ();
System.out.println(file.exists());
System.out.println(file.isFile());
System.out.println(file.isDirectory());
}
}
结果:
获取功能
1.获取路径三个方法:
public String getName() {
}
//获取最短的那个文件或者文件夹名称
public String getPath() {
}
//获取相对路径,构造方法中传入的那个字符串
public String getAbsolutePath() {
}
//获取绝对路径
2.获取文件或者文件夹属性的方法
public long length() {
}
//获取文件的字节个数
//只能针对文件使用,不能针对文件夹使用
public long lastModified() {
}
//获取文件的最后修改时间
3.获取文件夹中内容的方法
public String[] list() {
}
//返回文件夹中的所有内容的名称(不包含子文件夹中的内容)
public File[] listFiles() {
}
//返回文件夹中的所有内容的File对象(不包含子文件夹中的内容)
方法太多便不一一测试