Java File类

File类是文件和目录路径名的抽象表示。路径名可以是绝对路径或相对路径。

File类具有多个用于处理目录和文件的方法,例如创建新目录或文件、删除和重命名目录或文件、列出目录内容等。

字段

ModifierTypeFieldDescription
staticStringpathSeparator它是系统相关的路径分隔符,为方便起见表示为字符串
staticcharpathSeparatorChar它是系统相关的路径分隔符。
staticStringseparator它是系统相关的默认名称分隔符,为方便起见表示为字符串。
staticcharseparatorChar它是系统相关的默认名称分隔符。

构造函数

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

常用方法

Modifier and TypeMethodDescription
static FilecreateTempFile(String prefix, String suffix)它在默认临时文件目录中创建一个空文件,使用给定的前缀和后缀生成其名称。
booleancreateNewFile()当且仅当具有此名称的文件尚不存在时,它才会自动创建一个以此抽象路径名命名的新空文件。
booleancanWrite()它测试应用程序是否可以修改此抽象路径名.String[] 表示的文件
booleancanExecute()它测试应用程序是否可以执行此抽象路径名表示的文件。
booleancanRead()它测试应用程序是否可以读取此抽象路径名表示的文件。
booleanisAbsolute()它测试这个抽象路径名是否是绝对的。
booleanisDirectory()它测试这个抽象路径名表示的文件是否是一个目录。
booleanisFile()它测试此抽象路径名表示的文件是否为普通文件。
StringgetName()它返回此抽象路径名表示的文件或目录的名称。
StringgetParent()它返回此抽象路径名的父目录的路径名字符串,如果此路径名未指定父目录,则返回 null。
PathtoPath()它返回一个从这个抽象路径构造的 java.nio.file.Path 对象。
URItoURI()它构造一个文件:表示此抽象路径名的 URI。
File[]listFiles()它返回一个抽象路径名数组,表示此抽象路径名表示的目录中的文件
longgetFreeSpace()它返回以此抽象路径名命名的分区中未分配的字节数。
String[]list(FilenameFilter filter)它返回一个字符串数组,命名此抽象路径名表示的目录中满足指定过滤器的文件和目录。
booleanmkdir()它创建以此抽象路径名命名的目录。

Java File示例1

import java.io.*;  
public class FileDemo {  
    public static void main(String[] args) {  
  
        try {  
            File file = new File("javaFile123.txt");  
            if (file.createNewFile()) {  
                System.out.println("New File is created!");  
            } else {  
                System.out.println("File already exists.");  
            }  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
  
    }  
}  

输出:

New File is created!

Java File示例2

import java.io.*;  
public class FileDemo2 {  
    public static void main(String[] args) {  
  
        String path = "";  
        boolean bool = false;  
        try {  
            // createing  new files  
            File file  = new File("testFile1.txt");  
            file.createNewFile();  
            System.out.println(file);  
            // createing new canonical from file object  
            File file2 = file.getCanonicalFile();  
            // returns true if the file exists  
            System.out.println(file2);  
            bool = file2.exists();  
            // returns absolute pathname  
            path = file2.getAbsolutePath();  
            System.out.println(bool);  
            // if file exists  
            if (bool) {  
                // prints  
                System.out.print(path + " Exists? " + bool);  
            }  
        } catch (Exception e) {  
            // if any error occurs  
            e.printStackTrace();  
        }  
    }  
}  

输出:

testFile1.txt
/home/Work/Project/File/testFile1.txt
true
/home/Work/Project/File/testFile1.txt Exists? true

Java File示例3

import java.io.*;  
public class FileExample {  
public static void main(String[] args) {  
    File f=new File("/Users/sonoojaiswal/Documents");  
    String filenames[]=f.list();  
    for(String filename:filenames){  
        System.out.println(filename);  
    }  
}  
}  

输出:

"info.properties"
"info.properties".rtf
.DS_Store
.localized
Alok news
apache-tomcat-9.0.0.M19
apache-tomcat-9.0.0.M19.tar
bestreturn_org.rtf
BIODATA.pages
BIODATA.pdf
BIODATA.png
struts2jars.zip
workspace

Java File示例4

import java.io.*;  
public class FileExample {  
public static void main(String[] args) {  
    File dir=new File("/Users/sonoojaiswal/Documents");  
    File files[]=dir.listFiles();  
    for(File file:files){  
        System.out.println(file.getName()+" Can Write: "+file.canWrite()+"   
        Is Hidden: "+file.isHidden()+" Length: "+file.length()+" bytes");  
    }  
}  
}  

输出:

"info.properties" Can Write: true Is Hidden: false Length: 15 bytes
"info.properties".rtf Can Write: true Is Hidden: false Length: 385 bytes
.DS_Store Can Write: true Is Hidden: true Length: 36868 bytes
.localized Can Write: true Is Hidden: true Length: 0 bytes
Alok news Can Write: true Is Hidden: false Length: 850 bytes
apache-tomcat-9.0.0.M19 Can Write: true Is Hidden: false Length: 476 bytes
apache-tomcat-9.0.0.M19.tar Can Write: true Is Hidden: false Length: 13711360 bytes
bestreturn_org.rtf Can Write: true Is Hidden: false Length: 389 bytes
BIODATA.pages Can Write: true Is Hidden: false Length: 707985 bytes
BIODATA.pdf Can Write: true Is Hidden: false Length: 69681 bytes
BIODATA.png Can Write: true Is Hidden: false Length: 282125 bytes
workspace Can Write: true Is Hidden: false Length: 1972 bytes

标签: java, Java面试题, Java下载, java教程, java技术, Java学习, Java学习教程, Java语言, Java开发, Java入门教程, Java进阶教程, Java高级教程, Java笔试题, Java编程思想