首页 > 技术文章 > 5-8File文件操作类

yu0824 2020-05-08 18:52 原文

File文件操作类

构造方法:

File​(File parent, String child)

File从父抽象路径名和子路径名字符串创建新实例。

File​(String pathname)

File通过将给定的路径名​​字符串转换为抽象路径名来创建新实例。

File​(String parent, String child)

File根据父路径名字符串和子路径名字符串创建新实例。

File​(URI uri)

File通过将给定file:URI转换为抽象路径名来创建新实例 。

 

 

 

基本方法:https://docs.oracle.com/javase/9/docs/api/java/io/File.html

 

修饰符和类型

方法

描述

boolean

canExecute​()

测试应用程序是否可以执行此抽象路径名表示的文件。

boolean

canRead​()

测试应用程序是否可以读取此抽象路径名表示的文件。

boolean

canWrite​()

测试应用程序是否可以修改此抽象路径名表示的文件。

int

compareTo​(File pathname)

从字典上比较两个抽象路径名。

boolean

createNewFile​()

当且仅当具有该抽象路径名的文件尚不存在时,以原子方式创建一个新的空文件。

static File

createTempFile​(String prefix, String suffix)

在默认的临时文件目录中创建一个空文件,使用给定的前缀和后缀生成其名称。

static File

createTempFile​(String prefix, String suffix, File directory)

使用给定的前缀和后缀字符串在指定目录中创建一个新的空文件,以生成其名称。

boolean

delete​()

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

void

deleteOnExit​()

请求在虚拟机终止时删除此抽象路径名表示的文件或目录。

boolean

equals​(Object obj)

测试此抽象路径名是否与给定对象相等。

boolean

exists​()

测试此抽象路径名表示的文件或目录是否存在。

File

getAbsoluteFile​()

返回此抽象路径名的绝对形式。

String

getAbsolutePath​()

返回此抽象路径名的绝对路径名字符串。

File

getCanonicalFile​()

返回此抽象路径名的规范形式。

String

getCanonicalPath​()

返回此抽象路径名的规范路径名字符串。

long

getFreeSpace​()

返回此抽象路径名所命名的分区中未分配的字节数。

String

getName​()

返回此抽象路径名表示的文件或目录的名称。

String

getParent​()

返回此抽象路径名的父级的路径名字符串,或者null如果此路径名未命名父目录,则返回该字符串 。

File

getParentFile​()

返回此抽象路径名的父级的抽象路径名,或者null如果此路径名未命名父目录,则返回该路径名。

String

getPath​()

将此抽象路径名转换为路径名字符串。

long

getTotalSpace​()

返回此抽象路径名命名的分区的大小。

long

getUsableSpace​()

返回此抽象路径名所命名的分区上该虚拟机可用的字节数。

int

hashCode​()

为此抽象路径名计算哈希码。

boolean

isAbsolute​()

测试此抽象路径名是否为绝对路径。

boolean

isDirectory​()

测试此抽象路径名表示的文件是否为目录。

boolean

isFile​()

测试此抽象路径名表示的文件是否为普通文件。

boolean

isHidden​()

测试以此抽象路径名命名的文件是否为隐藏文件。

long

lastModified​()

返回此抽象路径名表示的文件的最后修改时间。

long

length​()

返回此抽象路径名表示的文件的长度。

String[]

list​()

返回一个字符串数组,命名该抽象路径名表示的目录中的文件和目录。

String[]

list​(FilenameFilter filter)

返回一个字符串数组,该字符串数组命名此抽象路径名表示的满足指定过滤器的目录中的文件和目录。

File[]

listFiles​()

返回一个抽象路径名数组,该数组表示此抽象路径名表示的目录中的文件。

File[]

listFiles​(FileFilter filter)

返回一个抽象路径名数组,该数组表示该抽象路径名表示的满足指定过滤器的目录中的文件和目录。

File[]

listFiles​(FilenameFilter filter)

返回一个抽象路径名数组,该数组表示该抽象路径名表示的满足指定过滤器的目录中的文件和目录。

static File[]

listRoots​()

列出可用的文件系统根目录。

boolean

mkdir​()

创建以此抽象路径名命名的目录。

boolean

mkdirs​()

创建以此抽象路径名命名的目录,包括任何必需但不存在的父目录。

boolean

renameTo​(File dest)

重命名此抽象路径名表示的文件。

boolean

setExecutable​(boolean executable)

一种方便的方法,用于为此抽象路径名设置所有者的执行许可权。

boolean

setExecutable​(boolean executable, boolean ownerOnly)

设置此抽象路径名的所有者或所有人的执行权限。

boolean

setLastModified​(long time)

设置此抽象路径名所命名的文件或目录的最后修改时间。

boolean

setReadable​(boolean readable)

一种方便的方法,用于为此抽象路径名设置所有者的读取许可权。

boolean

setReadable​(boolean readable, boolean ownerOnly)

设置此抽象路径名的所有者或所有人的读取许可权。

boolean

setReadOnly​()

标记以此抽象路径名命名的文件或目录,以便仅允许读取操作。

boolean

setWritable​(boolean writable)

为该抽象路径名设置所有者的写许可权的便捷方法。

boolean

setWritable​(boolean writable, boolean ownerOnly)

设置此抽象路径名的所有者或所有人的写许可权。

Path

toPath​()

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

String

toString​()

返回此抽象路径名的路径名字符串。

URI

toURI​()

构造一个file:表示此抽象路径名的URI。

URL

toURL​()

不推荐使用。 

此方法不会自动转义URL中非法的字符。建议新代码先通过toURI方法将抽象路径名转换为URI,然后再通过方法将URI转换为URL,从而将抽象路径名转换为URL URI.toURL

 

 

一个文件创建的标准形式:

1.判断父路径是否存在,不存在要创建,存在写文件

package FIle文件操作;

import java.io.File;
import java.io.IOException;
import java.util.Arrays;

public class File基本操作 {

    public static void main(String[] args) throws Exception {
        // TODO 自动生成的方法存根b
        
        File fl=new File("/Users/jacky/Desktop/Java深度学习");
        String str = "/Users/jacky/Desktop/Java深度学习";
        
        
        listDir1(fl);
    }    
        public static void listDir1(File file) {
            if(file.isDirectory()) {
                File data[] = file.listFiles();
                for(int x=0;x<data.length;x++) {
                    listDir1(data[x]);
                    System.out.println(data[x]);
                    
                }
                
            }else {
                System.out.println(file);
            }
            
            
            
             
            
        }
            
            
            
            
        
        
        
        
        
        

        
        
        
    
}
View Code

 

 

批量修改文件名称:

package FIle文件操作;

import java.io.File;

public class File1 {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        
        
        File fl=new File("/Users/jacky/Desktop/Java深度学习/File");
        String str = "/Users/jacky/Desktop/Java深度学习";
        long start = System.currentTimeMillis();
        getRnamet(fl);
        long end = System.currentTimeMillis();
        System.out.println("本次操作花费的时间:"+(end-start));
        
        
    }
    public static void getRnamet(File file) {
        if(file.isDirectory()) {
            File data[]=file.listFiles();
            if(data!=null) {
            for(int x=0;x<data.length;x++) {
                System.out.println(data[x]);
                getRnamet(data[x]);
            
            }
            }
            
        }else {
            if(file.isFile()) {//如果是个文件
                String filename=null;
                if(file.getName().contains(".")) {
                    filename = file.getName().substring(0,file.getName().lastIndexOf("."))+".txt";
                    
                }    
                    
                
                    else {
                    filename=file.getName()+".txt";
                    
                }
                System.out.println(file.getParent());
                File newFile=new File(file.getParentFile(),filename);
                file.renameTo(newFile);
                System.out.println(filename);
            }
        }
    }
    
    
    
    
    

}
View Code

 

推荐阅读