【发布时间】:2021-02-13 13:24:31
【问题描述】:
我正在尝试在 Java 中读取 bmp 图像时使用线程。更确切地说,我想用 4 块数据来读取它。这仅用于教育目的,我知道这不是您在技术上需要的东西。 但是,我不知道如何逐字节或逐块读取文件。我发现的唯一一件事是使用我不需要的 readAllBytes 或 readByte,这需要我已经拥有字节数组,但这不再是线程读取。 有什么方法可以逐字节或逐块读取给定路径? 提前谢谢!
【问题讨论】:
-
使用
FileInputStream fis = new FileInputStream(file);然后int val = fis.read()就可以了。 val == -1 表示文件结束。 -
您想创建例如 4 个线程并在 4 个不同线程中读取图像的四个不同部分吗?
-
@mahfujasif 是的!我是Java的初学者,我不知道该怎么做,我一直在努力,因为我什至不确定是否可能。我正在使用生产者读取块并使用消费者将其写入文件的最终变量。
-
@JayC667 感谢您的回复!在这个例子中谁是文件,如果它是图像中的字节数组,这是否意味着我应该已经读取了图像(数组)?我试图只传递路径以便只按块读取它。
标签: java multithreading image block bmp