【发布时间】:2012-06-28 17:55:35
【问题描述】:
我有一个文件,可以是 ZIP、RAR、txt、CSV、doc 等任何文件。我想从中创建一个 ByteArrayInputStream。
我正在使用它通过 FTPClient 从 Apache Commons Net 将文件上传到 FTP。
有人知道怎么做吗?
例如:
String data = "hdfhdfhdfhd";
ByteArrayInputStream in = new ByteArrayInputStream(data.getBytes());
我的代码:
public static ByteArrayInputStream retrieveByteArrayInputStream(File file) {
ByteArrayInputStream in;
return in;
}
【问题讨论】:
-
对于以字节为单位的文件读取,我使用 RandomAccessFile 并首先将整个文件字节传输到一个字节数组中。我发现这是一种以字节为单位读取文件的非常快速的方法。
-
您为什么需要这样做?您可以通过将 FileInputStream 复制到 ByteArrayOutputStream 并从中创建 ByteArrayInputStream 来做到这一点。当然,这是毫无意义的。
-
请解释您的用例。您可能只需要一个 FileInputStream。拥有它后,您打算如何使用它?
-
我承认这有点不必要,但我发现它是读取文件的最快方法之一,如果你喜欢速度的话。然后我又知道只使用 C...
-
这似乎比从
FileInputStream读取要严格慢,不是吗?
标签: java arrays bytebuffer bytearrayinputstream