Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java file 转 byte

作者:一抹淡影   发布日期:2025-06-24   浏览:34

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class FileToByteExample {

    // 使用 FileInputStream 将文件转换为 byte 数组
    public static byte[] fileToByteUsingFileInputStream(File file) throws IOException {
        try (FileInputStream fis = new FileInputStream(file)) {
            byte[] byteArray = new byte[(int) file.length()];
            fis.read(byteArray);
            return byteArray;
        }
    }

    // 使用 Files.readAllBytes 方法将文件转换为 byte 数组
    public static byte[] fileToByteUsingFilesReadAllBytes(String filePath) throws IOException {
        Path path = Paths.get(filePath);
        return Files.readAllBytes(path);
    }

    public static void main(String[] args) {
        File file = new File("example.txt");

        try {
            // 方法一:使用 FileInputStream
            byte[] byteArray1 = fileToByteUsingFileInputStream(file);
            System.out.println("File to byte array using FileInputStream: " + byteArray1);

            // 方法二:使用 Files.readAllBytes
            byte[] byteArray2 = fileToByteUsingFilesReadAllBytes(file.getAbsolutePath());
            System.out.println("File to byte array using Files.readAllBytes: " + byteArray2);

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

解释说明:

  1. fileToByteUsingFileInputStream 方法:

    • 使用 FileInputStream 类读取文件内容并将其转换为字节数组。
    • 通过 FileInputStream.read(byte[]) 方法将文件内容读入到字节数组中。
    • 这种方法适用于较小的文件,因为它是将整个文件一次性读入内存。
  2. fileToByteUsingFilesReadAllBytes 方法:

    • 使用 Files.readAllBytes(Path path) 方法直接读取文件路径并将文件内容转换为字节数组。
    • 这种方法更加简洁,并且推荐用于大多数场景,因为它内部做了优化处理。
  3. main 方法:

    • 创建一个 File 对象表示要读取的文件。
    • 分别调用上述两个方法将文件转换为字节数组,并打印结果。
    • 捕获并处理可能发生的 IOException 异常。

这两种方法都可以实现将文件转换为字节数组的功能,选择哪种方法取决于具体的应用场景和个人偏好。

上一篇:java求绝对值

下一篇:java 枚举定义

大家都在看

java连接数据库的代码

ubuntu 卸载java

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java 时间加一天

java demo

java 截取

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站