我正在尝试使用 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"));
FTPClient.setRestartOffset
。 FTP 服务器需要支持 REST
命令(大多数都支持)。
ftp.setRestartOffset(offset);
InputStream in = ftp.retrieveFileStream(remote_file_name);
// Now you can read as many bytes as you need from 'in'
FTPClient.abort
。
(您不能将
InputStream
转换为 RandomAccessFile
,也不能对 FTP 服务器上的文件使用 RandomAccessFile
)