专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java文件操作的方法

Java文件操作的方法

更新时间:2022-06-01 10:54:58 来源:动力节点 浏览949次

动力节点小编为大家总结了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 部分。

上述所有操作都用于以编程方式读取、写入、删除和创建文件。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>