账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    java读取远程服务器文件
    27
    0

    功能:读取远程linux服务器上指定目录下的文件内容。
    已知:服务器IP、端口号、用户名、密码、路径、文件名。
    我使用的是ssh2方式,建立连接,然后只能做到上传或者取文件,代码如下:

        Connection con = new Connection("IP地址");
        ConnectionInfo connect = con.connect();
        boolean isAuthed = con.authenticateWithPassword("用户名", "密码");
        SCPClient scpClient = con.createSCPClient();
        //从服务器获取文件
        scpClient.get("/home/test /a.txt", "C:/test/b.txt");
        //将本地文件上传到服务器
        scpClient.put("C:/test/c.txt", "/home /test/d.txt");
        

    然后我查询后发现可以通过会话执行Linux命令,代码如下:

        Session session = con.openSession();
        //服务器文件移动并改名
        session.execCommand("mv -f /home/test/a.txt /home/test2/b.txt");
        //从服务复制文件到本地(下载)并改名
        session.execCommand("scp root@192.168.1.1:/home/test/a.txt /home/test2/b.txt");
        //从本地复制文件到服务器(上传)并改名
        session.execCommand("scp /home/test2/b.txt root@192.168.1.1:/home/test/a.txt");
        
        

    但是我无法知道如何进行文件读取,因为我只需要读取文件,在不下载到本地的情况下,直接读取到内存里执行内容处理,请大神指教。

    使用jar包是svnkit-1.9.0-r10609-atlassian-hosted.jar。
    参考的是这个博客说明,在这个基础上根据自己的情况改了一些,大致和这个说明一致。
    JAVA代码实现远程服务器的文件操作 - CSDN博客
    https://blog.csdn.net/tao_ssh...

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 队友最靓 普通会员 1楼

      在Java中,我们可以使用java.io.File类来读取远程服务器上的文件。以下是一个简单的示例:

      ```java import java.io.*;

      public class Main { public static void main(String[] args) { try { // 创建一个File对象 File file = new File("远程服务器上的文件路径");

              // 打开文件
              FileInputStream fis = new FileInputStream(file);
      
              // 获取文件内容
              byte[] content = new byte[(int) file.length()];
              fis.read(content);
      
              // 关闭文件
              fis.close();
      
              // 打印文件内容
              System.out.println(new String(content));
          } catch (IOException e) {
              e.printStackTrace();
          }
      }
      

      } ```

      在这个示例中,我们首先创建了一个File对象,然后使用FileInputStream打开文件。然后,我们使用read方法读取文件的内容。最后,我们关闭文件,并打印文件的内容。

      请注意,你需要将"远程服务器上的文件路径"替换为你实际的文件路径。此外,你需要确保你有权限访问远程服务器,并且文件存在于服务器上。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部