Java File
File类是文件和目录路径名的抽象表示。路径名可以是绝对路径,也可以是相对路径。
File类具有几种用于处理目录和文件的方法,例如创建新目录或文件,删除和重命名目录或文件,列出目录内容等。
字段
修饰符 |
类型 |
字段 |
说明 |
static |
String |
pathSeparator |
这是系统相关的路径分隔符,为方便起见,用string表示。 |
static |
char |
pathSeparatorChar |
它是系统相关的路径分隔符。 |
static |
String |
separator |
这是系统相关的默认名称分隔符,为方便起见,用字符串表示。 |
static |
char |
separatorChar |
它是系统相关的默认名称分隔符。 |
构造函数
构造函数 |
说明 |
File(File parent, String child) |
它将根据父级抽象路径名和子级路径名字符串创建一个新的File实例。 |
File(String pathname) |
它通过将给定的路径名字符串转换为抽象路径名来创建一个新的File实例。 |
File(String parent, String child) |
它将根据父路径名字符串和子路径名字符串创建一个新的File实例。 |
File(URI uri) |
它通过将给定文件URI转换为抽象路径名来创建新的File实例。 |
有用的方法
修饰符和类型 |
方法 |
说明 |
static File |
createTempFile(字符串前缀,字符串后缀) |
它将在默认的临时文件目录中创建一个空文件,并使用给定的前缀和后缀生成其名称。 |
boolean |
createNewFile() |
当且仅当具有该抽象路径名的文件尚不存在时,它原子性地创建一个由该抽象路径名命名的新的空文件。 |
boolean |
canWrite() |
它测试应用程序是否可以修改此抽象pathname.String [] | 表示的文件
boolean |
canExecute() |
它测试应用程序是否可以执行此抽象路径名表示的文件。 |
boolean |
canRead() |
它测试应用程序是否可以读取此抽象路径名表示的文件。 |
boolean |
isAbsolute() |
它将测试此抽象路径名是否为绝对路径。 |
boolean |
isDirectory() |
它测试此抽象路径名表示的文件是否是目录。 |
boolean |
isFile() |
它测试此抽象路径名表示的文件是否为普通文件。 |
String |
getName() |
它返回此抽象路径名表示的文件或目录的名称。 |
String |
getParent() |
它返回此抽象路径名的父级的路径名字符串,如果此路径名未命名父目录,则返回null。 |
Path |
toPath() |
它将返回从此抽象路径构造的java.nio.file.Path对象。 |
URI |
toURI() |
它构造一个文件: 代表此抽象路径名的URI。 |
File[] |
listFiles() |
它返回抽象路径名的数组,表示该抽象路径名表示的目录中的文件 |
long |
getFreeSpace() |
它返回此抽象路径名所命名的分区中未分配的字节数。 |
String[] |
List(FilenameFilter filter) |
它返回一个字符串数组,命名该抽象路径名所表示的目录中满足指定过滤器的文件和目录。 |
boolean |
mkdir() |
它将创建以此抽象路径名命名的目录。 |
Java文件示例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();
}
}
}
输出:
Java文件示例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文件示例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文件示例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