Java-IO File类常用方法详情

File类方法详情

public class File
extends Object
implements Serializable, Comparable

FIle类
用于文件和目录路径名的抽象表示。

构造方法
File(File parent, String child)
从父抽象路径名和子路径名字符串创建新的 File实例。
File(String pathname)
通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
File(String parent, String child)
从父路径名字符串和子路径名字符串创建新的 File实例。
File(URI uri)
通过将给定的 file: URI转换为抽象路径名来创建新的 File实例。

File file=new File("Q:/LY/");
File file1=new File("Q:/LY/test.txt");
File file2=new File("Q:/LY","test2.txt");
File file3=new File(file,"test3.txt");
//LY目录中没有上面的test文件,执行下面语句分别创建三个txt文件。
try {
   file1.createNewFile();
   file2.createNewFile();
   file3.createNewFile();


} catch (IOException e) {
   e.printStackTrace();
}

File类中的方法
1)boolean canExecute()
测试应用程序是否执行此抽象路劲名表示的文件。如果系统存在抽象路径名则返回true,否则false。
2)boolean canRead()
测试应用程序是否可以读取此抽象路径名表示的文件。
3)boolean canWrite()
测试用用程序是否可以修改由此抽象路径名表示的文件。

File file=new File("Q:/LY");
System.out.println(file.canExecute());
System.out.println(file.canRead());
System.out.println(file.canWrite());

输出:
true
true
true

4)int compareTo()
比较两个抽象的路径名字典。
5)boolean createNewFile()
当且仅当具有该名称的文件尚不存在是,创建一个由该抽象路径名命名的新的空文件。创建成功返回true。

File file2=new File("Q:/LY","test22.txt");
System.out.println(file2.createNewFile());
//第一次运行时输出true
//只要目录中存在test22.txt这个文件,运行程序输出false。

注意:以下两种方法创建的临时文件名,都会在前缀后面追加Long型的正整随机数。
6)static File createTempFile(String prefix, String suffix)
在默认临时文件目录中创建一个空文件,使用给定的前缀和后缀生成器名称。

//在临时文件目录创建一个前缀temp,后缀.txt的文件。
File file5=File.createTempFile("temp",".txt");
//查看临时文件路径和是否创建成功
System.out.println(file5.toString());

输出:
C:\Users\我&良\AppData\Local\Temp\temp3921272367272739267.txt
//3921272367272739267为此方法追加的Long型的正整随机数

7)static File createTempFile(String prefix, String suffix, File directory)
返回值是File类型,在指定的目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。

File file=new File("Q:/LY");
File file6=File.createTempFile("temp学习",".txt",file);
System.out.println(file6.toString());
输出:
Q:\LY\temp学习3447942528497708549.txt
//3447942528497708549为此方法追加的Long型的正整随机数

8)String toString()
返回此抽象路径名的路径名字符串。
9)String getParent()
返回此抽象路径名的父路径名字符串,如果此路径名未命名为父目录,则返回null。
10)String getName()
返回此抽象路径名表示的文件或目录的名称。
11)String getAbsolutePath()
返回此抽象路径名的绝对路径名字符串。
12)String getCanonicalPath()
返回此抽象路径名的规范路径名字符串。

File file=new File("Q:/LY/test.txt");
System.out.println(file.createNewFile());
System.out.println(file.toString());
System.out.println(file.getParent());
System.out.println(file.getName());
System.out.println(file.getPath());
System.out.println(file.getAbsolutePath());
System.out.println(file.getCanonicalPath());
输出:
true
Q:\LY\test.txt
Q:\LY
test.txt
Q:\LY\test.txt
Q:\LY\test.txt
Q:\LY\test.txt

13)boolean delete()
删除由此抽象路径名表示的文件或目录
14)boolean exists()
测试此抽象路径名表示的文件或目录是否存在。

File file = new File("Q:/LY/test.txt");
System.out.println(file.exists());
System.out.println(file.delete());
System.out.println(file.exists());
输出:
true
true
false

15)File getAbsoluteFile()
返回此抽象路径名的绝对路径名字符串。
16)File getCanonicalFile()
返回此抽象路径名的规范路径名字符串。
17)File getParentFile()
返回此抽象路径名的父抽象路径名,如果没有指定的父目录,则返回null。

18)String[ ] list()
返回此抽象路径名表示的目录中的所有文件名和目录名。如果此抽象路径名不是目录,返回null。
19)String[ ] list(FilenameFilter filter)
返回此抽象路径名表示的目录中的满足指定过滤器文件名和目录名。如果此抽象路径名不是目录,返回null。

public class FileTest {
    public static void main(String[] args) {
        File f=new File("E:\\IntelliJ IDEA\\工作空间");
        FileFilter fileFilter=new FileTest().new FileFilter();
        String[] ls = f.list(fileFilter);
        for (String a : ls ){
           System.out.println(a);
        }
   }         
    
    //内部类,实现FilenameFilter接口,过滤 后缀为.zip的文件名
   class FileFilter implements  FilenameFilter{

      @Override
      public boolean accept(File dir, String name) {
         if(!dir.isDirectory()){
            return false;
         }
         if(name.endsWith(".zip")){
            return true;
         }
         return false;
      }
   }
}   

20)File[ ] listFiles()
返回一个抽象路径名数组,表示由该抽象路径名表示的目录中的文件。

21)File[ ] listFiles(FileFilter filter)
返回一个抽象路径名数组,表示由此抽象路径名表示的满足指定过滤器的目
录中的文件和目录。

22)File[ ] listFiles(FilenameFilter filter)
返回一个抽象路径名数组,表示由此抽象路径名表示的满足指定过滤器的目录中的文件和目录。

23)boolean isAbsolute()
测试这个抽象路径名是否是绝对的。

24)boolean isDirectory()
测试此抽象路径名表示的文件是否为目录。 是返回true,不是返回false。

25)boolean isFile()
测试此抽象路径名表示的文件是否为文件。如果文件不存在或者抽象路径名为目录则返回false。

26)boolean isHidden()
测试此抽象路径名命名的文件是否为隐藏文件。

27)boolean mkdir()
创建由此抽象路径名命名的目录。

28)boolean mkdirs()
创建由此抽象路径名命名的目录,包括不存在的父目录。

29)boolean renameTo(File dest)
重命名由此抽象路径名表示的文件。重命名成功返回true, 该方法的依赖于平台,可能无法成功,应始终检查返回值。请注意, Files类定义了以独立于平台的方式移动或重命名文件的move方法。

30)boolean setExecutable(boolean executable)
为此抽象路径名设置所有者的执行权限的便利方法。

31)boolean setExecutable(boolean executable, boolean ownerOnly)
设置该抽象路径名的所有者或每个人的执行权限。

32)boolean setLastModified(long time)
设置由此抽象路径名命名的文件或目录的最后修改时间。

33)boolean setReadable(boolean readable)
一种方便的方法来设置所有者对此抽象路径名的读取权限。

34)boolean setReadable(boolean readable, boolean ownerOnly)
设置此抽象路径名的所有者或每个人的读取权限。

35)boolean setReadOnly()
标记由此抽象路径名命名的文件或目录,以便只允许读取操作。

36)boolean setWritable(boolean writable)
一种方便的方法来设置所有者对此抽象路径名的写入权限。

37)boolean setWritable(boolean writable, boolean ownerOnly)
设置此抽象路径名的所有者或每个人的写入权限。

38)Path toPath()
返回从此抽象路径构造的java.nio.file.Path对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值