在本教程中,我们将借助示例学习 Java File
及其各种操作。
java.io
包的File
类用于对文件和目录执行各种操作。
还有一个名为java.nio
的包,可用于处理文件。 但是,在本教程中,我们将重点介绍java.io
包。
文件和目录
文件是可用于存储相关信息的命名位置。 例如,
main.java
是一个 Java 文件,其中包含有关 Java 程序的信息。
目录是文件和子目录的集合。 目录内的目录称为子目录。
创建一个 Java 文件对象
要创建File
的对象,我们需要首先导入java.io.File
包。 导入包后,就可以创建文件对象。
// creates an object of File using the path
File file = new File(String pathName);
在这里,我们创建了一个名为file
的文件对象。 该对象可用于处理文件和目录。
注意:在 Java 中,创建文件对象并不意味着创建文件。 相反,文件对象是文件或目录路径名的抽象表示(在括号中指定)。
Java 文件操作方法
操作 | 方法 | 包 |
---|---|---|
创建文件 | createNewFile() |
java.io.File |
读取文件 | read() |
java.io.FileReader |
写入文件 | write() |
java.io.FileWriter |
删除文件 | delete() |
java.io.File |
Java 创建文件
要创建一个新文件,我们可以使用createNewFile()
方法。 它返回
true
如果创建了新文件。false
如果文件已存在于指定位置。
示例:创建一个新文件
// importing the File class
import java.io.File;
class Main {
public static void main(String[] args) {
// create a file object for the current location
File file = new File("newFile.txt");
try {
// trying to create a file based on the object
boolean value = file.createNewFile();
if (value) {
System.out.println("The new file is created.");
}
else {
System.out.println("The file already exists.");
}
}
catch(Exception e) {
e.getStackTrace();
}
}
}
在上面的示例中,我们创建了一个名为file
的文件对象。 文件对象与指定的文件路径链接。
File file = new File("newFile.txt");
在这里,我们使用了文件对象来创建具有指定路径的新文件。
如果当前位置中不存在newFile.txt
,则会创建文件并显示此消息。
The new file is created.
但是,如果newFile.txt
已经存在,我们将看到此消息。
The file already exists.
Java 读取文件
要从文件中读取数据,我们可以使用 InputStream 或 Reader 的子类。
示例:使用FileReader
读取文件
假设我们有一个名为input.txt
的文件,其内容如下。
This is a line of text inside the file.
现在,让我们尝试使用 Java FileReader
读取文件。
// importing the FileReader class
import java.io.FileReader;
class Main {
public static void main(String[] args) {
char[] array = new char[100];
try {
// Creates a reader using the FileReader
FileReader input = new FileReader("input.txt");
// Reads characters
input.read(array);
System.out.println("Data in the file:");
System.out.println(array);
// Closes the reader
input.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
输出
Data in the file:
This is a line of text inside the file.
在上面的示例中,我们使用了创建FileReader
的名为input
的对象。 现在,它已与input.txt
文件链接。
FileReader input = new FileReader("input.txt");
要从input.txt
文件读取数据,我们使用了FileReader
的read()
方法。
Java 写入文件
要将数据写入文件,我们可以使用 OutputStream 或 Writer 的子类。
示例:使用FileWriter
写入文件
// importing the FileWriter class
import java.io.FileWriter;
class Main {
public static void main(String args[]) {
String data = "This is the data in the output file";
try {
// Creates a Writer using FileWriter
FileWriter output = new FileWriter("output.txt");
// Writes string to the file
output.write(data);
System.out.println("Data is written to the file.");
// Closes the writer
output.close();
}
catch (Exception e) {
e.getStackTrace();
}
}
}
输出
Data is written to the file.
在上面的示例中,我们使用FileWriter
类创建了一个writer
。 写入器与output.txt
文件链接。
FileWriter output = new FileWriter("output.txt");
要将数据写入文件,我们使用了write()
方法.
在这里,当我们运行程序时,output.txt
文件填充了以下内容。
This is the data in the output file.
Java 删除文件
我们可以使用File
类的delete()
方法删除指定的文件或目录。 它返回
true
如果文件被删除。false
如果文件不存在。
注意:我们只能删除空目录。
示例:删除文件
import java.io.File;
class Main {
public static void main(String[] args) {
// creates a file object
File file = new File("file.txt");
// deletes the file
boolean value = file.delete();
if(value) {
System.out.println("The File is deleted.");
}
else {
System.out.println("The File is not deleted.");
}
}
}
输出:
The File is deleted.
在上面的示例中,我们创建了一个名为file
的File
对象。 该文件现在包含有关指定文件的信息。
File file = new File("file.txt");
在这里,我们已使用delete()
方法删除该对象指定的文件。
相关示例