更新时间:2022-06-01 10:54:58 来源:极悦 浏览1049次
极悦小编为大家总结了Java文件操作的方法。在 Java 中,文件是一种抽象数据类型。用于存储相关信息的命名位置称为File。有几个文件操作,例如创建新文件、获取有关文件的信息、写入文件、读取文件和删除文件。
在了解 File 操作之前,我们需要了解Stream和File方法。如果你对它们都有了解,你可以跳过它。
一系列数据称为流。在Java中,流分为字节流和字符流两种。
字节流主要涉及字节数据。具有字节流的文件处理过程是提供输入并利用字节数据执行的过程。
字符流主要涉及字符数据。具有字符流的文件处理过程是用字符数据提供和执行输入的过程。
要了解有关流的更多信息,请单击此处。
我们可以对文件进行如下操作:
创建文件
获取文件信息
写入文件
从文件中读取
删除文件
执行创建文件操作以创建新文件。我们使用文件的createNewFile()方法。createNewFile()方法在成功创建新文件时返回 true,在文件已存在时返回 false。
让我们以一个创建文件的例子来了解我们如何使用createNewFile()方法来执行这个操作。
创建文件.java
// 导入文件类
导入 java.io.File;
// 导入 IOException 类来处理错误
导入 java.io.IOException;
类 创建文件 {
公共静态无效 主要(字符串参数[]){
试试 {
// 创建文件对象
文件 f0 = new File( "D:FileOperationExample.txt" );
如果 (f0.createNewFile()){
System.out.println( "文件" + f0.getName() + "创建成功。" );
} 其他 {
System.out.println( "目录中已经存在文件。" );
}
} 捕捉 (IOException 异常){
System.out.println( "出现意外错误。" );
异常.printStackTrace();
}
}
}
输出:
解释:
在上面的代码中,我们分别导入了 File 和 IOException 类来执行文件操作和处理错误。我们创建 File 类的f0对象并指定我们要创建文件的目录的位置。在 try 块中,我们通过f0对象调用createNewFile()方法在指定位置创建一个新文件。如果该方法返回 false,它将跳转到 else 部分。如果有任何错误,它将在 catch 块中处理。
执行该操作以获取文件信息。我们使用几种方法来获取有关文件的信息,例如名称、绝对路径、可读性、可写性和长度。
下面我们通过一个例子来了解如何使用文件方法来获取文件的信息。
文件信息.java
// 导入文件类
导入 java.io.File;
类 文件信息 {
公共静态无效 主要(字符串[]参数){
// 创建文件对象
文件 f0 = new File( "D:FileOperationExample.txt" );
如果 (f0.exists()){
// 获取文件名
System.out.println( "文件名是:" + f0.getName());
// 获取文件路径
System.out.println( "文件的绝对路径为:" + f0.getAbsolutePath());
// 检查文件是否可写
System.out.println( "文件是否可写:" + f0.canWrite());
// 检查文件是否可读
System.out.println( "文件是否可读" + f0.canRead());
// 获取文件的长度(以字节为单位)
System.out.println( "文件大小为:" + f0.length());
} 其他 {
System.out.println( "该文件不存在。" );
}
}
}
输出:
描述:
在上面的代码中,我们导入了java.io.File包并创建了一个类FileInfo。在 main 方法中,我们创建了我们在前面的示例中创建的文本文件的对象。我们使用条件语句检查文件是否存在,如果存在,我们将获得有关该文件的以下信息:
我们使用getName() 获取文件名
我们使用文件的getAbsolutePath()方法获取文件的绝对路径。
我们检查是否可以使用canWrite()将数据写入文件
我们检查是否可以使用canRead()读取文件的数据
我们使用length()获取文件的长度
如果文件不存在,我们会显示一条自定义消息。
我们可以对文件执行的下一个操作是“写入文件”。为了将数据写入文件,我们将一起使用FileWriter类及其write()方法。我们需要使用close()方法关闭流以检索分配的资源。
让我们举个例子来了解我们如何将数据写入文件。
WriteToFile.java
// 导入 FileWriter 类
导入 java.io.FileWriter;
// 导入 IOException 类来处理错误
导入 java.io.IOException;
类 WriteToFile {
公共静态无效 主要(字符串[]参数){
试试 {
FileWriter fwrite = new FileWriter( "D:FileOperationExample.txt" );
// 将内容写入 FileOperationExample.txt 文件
fwrite.write( "用于存储相关信息的命名位置称为文件。" );
// 关闭流
fwrite.close();
System.out.println( "内容成功写入文件。" );
} 捕捉 (IOException e){
System.out.println( "发生意外错误" );
e.printStackTrace();
}
}
}
输出:
解释:
在上面的代码中,我们导入了java.io.FileWriter和java.io.IOException类。我们创建了一个 WriteToFile 类,在它的 main 方法中,我们使用了try-catch块。在 try 部分,我们创建 FileWriter 类的一个实例,即fwrite。我们调用 FileWriter 类的write方法并将内容传递给我们要编写的函数。之后,我们调用FileWriter 类的close()方法来关闭文件流。在写入内容并关闭流之后,我们打印一条自定义消息。
如果我们在 try 部分遇到任何错误,它会跳转到 catch 块。在 catch 块中,我们处理IOException并打印自定义消息。
我们可以对文件执行的下一个操作是“从文件中读取”。为了将数据写入文件,我们将使用Scanner类。在这里,我们需要使用close()方法关闭流。我们将创建一个Scanner 类的实例并使用hasNextLine()方法 nextLine()方法从文件中获取数据。
让我们举个例子来了解我们如何从文件中读取数据。
ReadFromFile.java
// 导入文件类
导入 java.io.File;
// 导入 FileNotFoundException 类来处理错误
导入 java.io.FileNotFoundException;
// 导入 Scanner 类以读取文本文件
导入 java.util.Scanner;
类 ReadFromFile {
公共静态无效 主要(字符串[]参数){
试试 {
// 创建文件的f1对象来读取数据
文件 f1 = new File( "D:FileOperationExample.txt" );
扫描仪数据读取器 = 新 扫描仪(f1);
而 (dataReader.hasNextLine()){
字符串文件数据 = dataReader.nextLine();
System.out.println(fileData);
}
dataReader.close();
} 捕捉 (FileNotFoundException 异常){
System.out.println( "发生意外错误!" );
异常.printStackTrace();
}
}
}
输出:
解释:
在上面的代码中,我们导入了“java.util.Scannner”、“java.io.File”和“java.io.IOException”类。我们创建了一个ReadFromFile类,在它的 main 方法中,我们使用了try-catch 块。在 try 部分,我们创建了Scanner和File类的实例。我们将File类对象传递给Scanner类对象,然后使用“While”迭代扫描器类对象循环并打印文件的每一行。我们还需要关闭扫描器类对象,所以我们使用 close() 函数。如果我们在 try 部分遇到任何错误,它会跳转到 catch 块。在 catch 块中,我们处理 IOException 并打印自定义消息。
我们可以对文件执行的下一个操作是“删除文件”。为了删除文件,我们将使用文件的delete()方法。我们不需要使用close()方法关闭流,因为要删除文件,我们既不使用 FileWriter 类,也不使用 Scanner 类。
让我们举个例子来了解我们如何将数据写入文件。
删除文件.java
// 导入文件类
导入 java.io.File;
类 删除文件 {
公共静态无效 主要(字符串[]参数){
文件 f0 = new File( "D:FileOperationExample.txt" );
如果 (f0.delete()){
System.out.println(f0.getName()+ "文件删除成功。" );
} 其他 {
System.out.println( "删除文件时发现意外错误。" );
}
}
}
输出:
解释:
在上面的代码中,我们导入File类并创建一个类DeleteFile。在类的 main() 方法中,我们创建要删除的文件的f0对象。在if语句中,我们使用 f0 对象调用文件的delete()方法。如果 delete() 方法返回 true,我们将打印成功的自定义消息。否则,它会跳转到我们打印不成功的自定义消息的 else 部分。
上述所有操作都用于以编程方式读取、写入、删除和创建文件。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习