当前位置:首页 > Java

java如何读取文件

2026-02-04 10:08:08Java

读取文件的方法

Java提供了多种读取文件的方式,以下是几种常见的方法:

使用BufferedReader读取文本文件

BufferedReader适用于逐行读取文本文件,效率较高。

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ReadFile {
    public static void main(String[] args) {
        String filePath = "example.txt";
        try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

使用Files.readAllLines读取文本文件

Java 8及以上版本可以使用Files.readAllLines方法一次性读取所有行。

import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
import java.io.IOException;

public class ReadFile {
    public static void main(String[] args) {
        String filePath = "example.txt";
        try {
            List<String> lines = Files.readAllLines(Paths.get(filePath));
            for (String line : lines) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

使用Scanner读取文本文件

Scanner提供了更灵活的文本解析功能,适合处理格式化的文本文件。

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class ReadFile {
    public static void main(String[] args) {
        String filePath = "example.txt";
        try (Scanner scanner = new Scanner(new File(filePath))) {
            while (scanner.hasNextLine()) {
                String line = scanner.nextLine();
                System.out.println(line);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

使用FileInputStream读取二进制文件

FileInputStream适用于读取二进制文件,如图片或视频。

import java.io.FileInputStream;
import java.io.IOException;

public class ReadFile {
    public static void main(String[] args) {
        String filePath = "example.bin";
        try (FileInputStream fis = new FileInputStream(filePath)) {
            int byteData;
            while ((byteData = fis.read()) != -1) {
                System.out.print((char) byteData);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

使用Files.readAllBytes读取二进制文件

Java 7及以上版本可以使用Files.readAllBytes方法一次性读取所有字节。

java如何读取文件

import java.nio.file.Files;
import java.nio.file.Paths;
import java.io.IOException;

public class ReadFile {
    public static void main(String[] args) {
        String filePath = "example.bin";
        try {
            byte[] bytes = Files.readAllBytes(Paths.get(filePath));
            for (byte b : bytes) {
                System.out.print((char) b);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

注意事项

  • 文件路径可以是相对路径或绝对路径,确保路径正确。
  • 使用try-with-resources语句可以自动关闭资源,避免内存泄漏。
  • 处理大文件时,建议使用缓冲流逐行或分块读取,避免内存溢出。

标签: 文件java
分享给朋友:

相关文章

java如何上传文件

java如何上传文件

使用HttpURLConnection上传文件 在Java中,可以通过HttpURLConnection实现文件上传功能。需要设置请求头为multipart/form-data,并构建包含文件数据的请…

如何安装java环境

如何安装java环境

下载JDK安装包 访问Oracle官方网站或OpenJDK项目页面,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。确保下载与系统架构匹配的版本(32位或64位)。 运行安…

java如何连接mysql

java如何连接mysql

连接 MySQL 数据库的基本步骤 添加 MySQL 驱动依赖 在项目中引入 MySQL 的 JDBC 驱动。如果使用 Maven,在 pom.xml 中添加以下依赖: <dependency…

java如何获取当前时间

java如何获取当前时间

获取当前时间的方法 在Java中,可以通过多种方式获取当前时间。以下是几种常见的方法: 使用 java.util.Date Date currentDate = new Date(); Syste…

php实现文件下载代码

php实现文件下载代码

实现文件下载的基本方法 使用PHP实现文件下载的核心是通过设置HTTP头部信息,强制浏览器触发下载行为而非直接显示文件内容。 $file_path = 'path/to/your/file.ext'…

java如何避免死锁

java如何避免死锁

避免死锁的方法 固定顺序获取锁 确保所有线程按照相同的顺序获取多个锁。例如,若需要获取锁A和锁B,所有线程必须先获取A再获取B,避免交叉依赖导致的死锁。这种方式破坏了“循环等待”条件。 使用锁超时机…