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