我使用Apache Tika解析器使用以下代码读取本地文件系统中文件的内容
ContentHandler textHandler = new BodyContentHandler();
Metadata metadata = new Metadata();
ParseContext context = new ParseContext();
InputStream input = new FileInputStream(file);
try {
_autoParser.parse(input, textHandler, metadata, context);
} catch (Exception e) {
log(String.format("File %s failed", file.getCanonicalPath()));
e.printStackTrace();
continue;
}
list.add(textHandler.toString);
现在我想从FTP位置获取文件,有没有什么方法可以在运行时对FTP中的文件进行解析而不将它们下载到任何位置。
答案 0 :(得分:1)
尝试使用Apache Commons Net库来获取FTP文件的InputStream。
示例:
String server = "www.myserver.com";
int port = 21;
String user = "user";
String pass = "pass";
FTPClient ftpClient = new FTPClient();
ftpClient.connect(server, port);
ftpClient.login(user, pass);
InputStream inputStream = ftpClient.retrieveFileStream("/test/test1.txt");