【发布时间】:2019-10-28 17:02:19
【问题描述】:
我正在尝试使用 Apache Commons Net 库读取 FTP 远程服务器上的文件。
retrieveFileStream 返回InputStream 并放入BufferedReader。
但是,我想使用RandomAccessFile(使用seek() 方法)。
我想将Inputstream 设为RandomAccessFile。
有可能吗?
FTPClient ftp = new FTPClient();
InputStream in = ftp.retrieveFileStream(remote_file_name);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
【问题讨论】:
-
没有。您无法将
InputStream转换为RandomAccessFile。 FTP 不提供任何其他帮助。 -
如果我在 FTP 远程服务器上读取文件,我不能使用 RandomAccessFile 吗?
-
这看起来像 XY problem --- 告诉我们您要实施什么,而不是询问您在尝试实施时遇到的问题。
-
@user207421 虽然您确实无法将
InputStream转换为RandomAccessFile,但 “FTP 没有提供任何其他帮助” 是不正确的(更不用说你/我们真的不知道 OP 想要什么)。 -
@MartinPrikryl 鉴于他要求一种将 FTP 输入流转换为
RandomAccessFile的方法,他想要什么非常清楚。使用RandomAccessFile类通过FTP 进行随机访问,可能是读/写。如果你认为 FTP 提供了一些有用的东西,你为什么不确切地说它是什么?
标签: java ftp inputstream apache-commons-net randomaccessfile