scpClient远程读取linux服务器文件

请大神们指教两个问题:
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,统计所有文件中某个字符串的数量。

在次谢谢大佬们了!

阅读 5.2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题