请大神们指教两个问题:
Q1:使用scpClient读取远程服务器的指定文件,在使用如下代码的情况下,能否实现将文件内容转为行读取,或者行处理?如果如下代码不行,那么可以用什么方法/类?文件全部内容获取代码如下:
public static String connectError(String node,String path) throws IOException {
Connection con = new Connection(node);
ConnectionInfo connect = con.connect();
boolean isAuthed = con.authenticateWithPassword("user", "123456");
//System.out.println(node+"节点连接情况:"+isAuthed);
SCPClient scpClient = con.createSCPClient();
//获取文件内容
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
scpClient.get(path, baos);
} catch (IOException e) {
//e.getMessage()
System.out.println(node+"节点没有"+path+"这个文件");
}
//System.out.println("baos"+baos);
String errorFile = new String(baos.toByteArray(), "utf-8");
//【3】关闭连接
con.close();
return errorFile;
}
Q2:如何使用scpClient读取远程服务器的指定目录下所有文件的内容?如果scpClient不行,那么如何远程获取服务器上指定目录下所有文件的内容?
问题说明:
Q1是需要实现远程访问服务器的文件,匹配满足正则表达的文件内容。因为文件太大,全部读取入内存处理不行,所以想转换为行输入处理,不过没接触过这些,所以不知道如何处理,如果思路有问题,也请大神们指点一下。
Q2是需要实现远程访问服务器指定目录下所有文件内容,文件命名没有顺序,但是命名前缀和后缀一致,文件名为20180416_随机数_.txt,统计所有文件中某个字符串的数量。
在次谢谢大佬们了!