Java如何读取文件

2025-10-17 01:47:38

1、在下面的实例中,我们将看到两种使用 BufferedReader 来读取文件的方法。

在这里, 我有两个 txt 文件myfile1.txt和myfile2.txt。以演示读取文件的方法。

我使用readLine()方法读取第一个文件。使用read()方法读取第二个文件。

方法 1: 使用BufferedReader类的readLine ()方法。

public String readLine() throws IOException

它读取一行文本。

Java如何读取文件

2、方法 2: 使用read ()方法

public int read() throws IOException

它读取文本的字符。因为它返回一个整数值, 所以需要将它显式转换为char类型。

Java如何读取文件

1、java中使用FileInputStream和BufferedInputStream读取文件的步骤如下:

1) 通过文件的完整路径来创建文件实例。

2) 将文件实例传递给FileInputStream , 它打开与实际文件的连接, 该文件由文件系统中的文件对象文件命名。

3) 将FileInputStream实例传递给BufferedInputStream , 它创建BufferedInputStream并将其参数保存在其中, 以便后面使用。

在 buf 中创建一个内部缓冲区数组。

4) 使用while循环读取文件,  available() 方法检查是否已经读到了文件末尾. 在while中使用 FileInputStream的read函数来读取文件内容

2、完整代码示例如下

import java.io.*;

public class ReadFileDemo {

   public static void main(String[] args) {         

      //读取c盘的file1文件

      File file = new File("C://file1.txt");

      BufferedInputStream bis = null;

      FileInputStream  fis= null;

      try

      {

          //第一步 通过文件路径来创建文件实例

          fis = new FileInputStream(file);

          /*把FileInputStream实例 传递到 BufferedInputStream

            目的是能快速读取文件

           */

          bis = new BufferedInputStream(fis);

          /*available检查是不是读到了文件末尾 */

          while( bis.available() > 0 ){                 

              System.out.print((char)bis.read());

          }

       }catch(FileNotFoundException fnfe)

        {

            System.out.println("文件不存在" + fnfe);

        }

        catch(IOException ioe)

        {

            System.out.println("I/O 错误: " + ioe); 

        }

        finally

        {

            try{

               if(bis != null && fis!=null)

               {

                     fis.close();

                  bis.close();

               }      

             }catch(IOException ioe)

              {

                  System.out.println("关闭InputStream句柄错误: " + ioe);

              }         

        }

   }    

}

Java如何读取文件

1、建议使用readline而不是read来读取,因为中文read读取转换后会变成乱码。

Java如何读取文件

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢