当前位置:首页 > Java

java 如何打开文件

2026-04-09 00:47:53Java

使用 FileInputStream 打开文件

通过 FileInputStream 可以以字节流形式读取文件内容。适用于二进制文件或需要逐字节处理的场景。

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

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

使用 FileReader 打开文本文件

FileReader 是字符流类,适合读取文本文件。会自动处理字符编码,比字节流更高效。

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

public class FileExample {
    public static void main(String[] args) {
        try (FileReader reader = new FileReader("example.txt")) {
            int character;
            while ((character = reader.read()) != -1) {
                System.out.print((char) character);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

使用 BufferedReader 高效读取

BufferedReader 提供缓冲功能,适合大文件读取。可配合 FileReader 使用。

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

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

使用 Files 类(Java 7+)

java.nio.file.Files 提供了更现代的 API,支持一次性读取所有行或全部字节。

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

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

使用 Scanner 类解析内容

Scanner 适合需要按特定模式解析文件内容的场景,支持正则表达式分割。

java 如何打开文件

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

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

注意事项

  • 文件路径可以是绝对路径或相对路径(相对于工作目录)
  • 所有流操作结束后必须关闭资源,推荐使用 try-with-resources 语法
  • 处理大文件时优先使用缓冲流(如 BufferedReader)避免内存溢出
  • 检查文件是否存在可用 Files.exists(Paths.get("path"))

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

相关文章

java如何创建线程

java如何创建线程

创建线程的方法 在Java中,创建线程主要有两种方式:继承Thread类和实现Runnable接口。以下是具体实现方法: 继承Thread类 通过继承Thread类并重写run()方法可以创建线程。…

java如何编程

java如何编程

Java编程基础 Java是一种面向对象的编程语言,广泛应用于企业级开发、移动应用(Android)等领域。以下是Java编程的核心步骤和示例。 环境搭建 安装JDK 从Oracle官网下载适合…

java如何上传文件

java如何上传文件

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

java如何删除文件

java如何删除文件

删除文件的基本方法 使用 java.io.File 类的 delete() 方法可以删除文件。如果文件存在且删除成功,返回 true;否则返回 false。 import java.io.Fil…

java如何运行程序

java如何运行程序

运行Java程序的步骤 安装Java开发工具包(JDK) 确保系统已安装JDK,可通过命令行输入java -version和javac -version验证。若未安装,需从Oracle官网下载并配置环…

php下载文件实现

php下载文件实现

PHP 下载文件实现方法 使用 header() 函数强制下载 设置合适的 HTTP 头信息,强制浏览器下载文件而非直接打开。 $file_path = '/path/to/file.pdf'; $…