File类

252 阅读2分钟

File类

是文件和目录路径名的抽象表示形式。

静态成员变量

static String separator 名称分隔符

static String pathSeparator 路径分隔符

构造方法

public File(String pathname) pathname 文件路径名

public File(String parent,String child) 父路径名 子路径名

public File(File parent,String child) 通过父文件对象、子文件名称构造文件对象。

文件的路径分为:

1、相对路径: 不以盘符开头,如:File f = new File("hello.txt");

2、绝对路径: 以盘符开头,如:File f = new File("D:\Java_0408\JavaSE");

3、网络路径: 如:http://192.168.0.1:80/test/a.txt

注意:在做任何操作前,必须封装文件路径!

文件的创建

boolean createNewFile() :

注意:

1.此方法会出现IOException编译异常,必须处理;

2.此方法创建的是文件,而不是文件夹;

3.如果文件已经创建,则不会再创建新文件,运行后返回“false”。

boolean mkdir()

注意:

1.此方法不会出现异常;

2.此方法创建的是文件夹,不是文件;

3.如果文件夹已经创建,则不会再创建新文件夹,运行后返回“false”。

boolean mkdirs()

注意:

1.此方法不会出现异常;

2.此方法创建的是连续的文件夹;

3.如果文件夹已经创建,则不会再创建新文件夹,运行后返回“false”。

文件的删除

boolean delete()

删除此抽象路径名表示的文件或目录。

注意:

1.此方法既可以删除文件,也可以删除文件夹;

2.此方法删除的文件夹必须是空文件夹,即文件夹内不能有任何文件夹或文件。

3.修改功能

public boolean renameTo(File dest) 重命名为dest,如:

public static void main(String[] args) {

File file = new File("1.txt");

boolean result = file.renameTo(new File("2.txt"));

System.out.println(result);

}

4.文件的判断功能

public boolean isFile() 是否文件

public boolean isDirectory() 是否目录

public boolean canRead() 是否可读

public boolean canWrite() 是否可写

public boolean exists() 是否存在

public boolean isHidden() 是否隐藏

public long length() 长度

public String getAbsolutePath() 绝对路径

public String getPath() 定义的路径

public String getName() file名字

public long lastModified() 最后一次修改时间

5.文件的遍历功能

public String[] list() 返回file下的文件和目录名称(字符串)

public File[] listFiles() 返回file下的文件和目录(文件)

public String[] list(FilenameFilter filter) 根据filter过滤返回file下文件和目录名称

public File[] listFiles(FileFilter filter) 根据filter过滤返回file下文件和目录

获取某个文件夹目录下后缀为“.Java”文件个数:

@param file 需要统计的Java文件所在的文件夹

@return Java文件的个数

public static int getJavaFileCount(File srcFile) {

int count = 0;

File[] files = srcFile.listFiles();

for (File f : files) {

String fileName = f.getName();

if (fileName.endsWith(".java") && f.isFile()) {

count ++;

System.out.println(fileName);

}

}

return count;

}

public static int getJavaFileCount2(File srcFile) {

File[] files = srcFile.listFiles(new FileFilter() {

@Override

public boolean accept(File file) {

return file.getName().endsWith(".java") && file.isFile();

}

}

return files.length;

}

}