Java 复制带有锁的文件

Java 复制带有锁的文件,java,file-io,java-io,Java,File Io,Java Io,我有一个在服务器上运行的应用程序,它正在做一些事情,并将它所做的一切写入日志文件。 我还有一个辅助应用程序,它有点像一个监控面板,也在服务器上运行,但它是一个不同的进程。我想做的是: 我希望我的监控文件能够从其他应用程序复制当前已锁定的日志文件,然后通过电子邮件发送给我。 我曾尝试使用scp连接到服务器并手动将其复制到我的计算机上(它确实有效),但是我希望能够通过java监控应用程序实现这一点。我不知道从哪里开始 我曾尝试使用scp连接到服务器,并手动将其复制到我的计算机上(它确实有效) 该库有

我有一个在服务器上运行的应用程序,它正在做一些事情,并将它所做的一切写入日志文件。
我还有一个辅助应用程序,它有点像一个监控面板,也在服务器上运行,但它是一个不同的进程。我想做的是:

我希望我的监控文件能够从其他应用程序复制当前已锁定的日志文件,然后通过电子邮件发送给我。 我曾尝试使用scp连接到服务器并手动将其复制到我的计算机上(它确实有效),但是我希望能够通过java监控应用程序实现这一点。我不知道从哪里开始

我曾尝试使用scp连接到服务器,并手动将其复制到我的计算机上(它确实有效)

该库有一个模块,可用于
scp
将数据从服务器复制到计算机或应用程序。这可以通过以下方法之一完成:

  • 手动运行模块(例如java-jar)
  • 将模块的源代码复制到您的项目中,并将JSch库添加到
    类路径
    (更多编程控制-首选方法)
  • 以编程方式使用库模块,例如
    String[]args={user@remotehost:file1“localfile”};SCPFrom.main(args);

  • 我尝试使用scp连接到服务器并手动将其复制到我的计算机上
    成功了吗?@copeg进行了编辑。是的,成功了,没有使主应用程序写入日志崩溃。你可以使用
    JSch
    通过你的监控应用程序执行相同的操作,而不是通过电子邮件发送给你自己。我想要显示器使用服务器上已有的监控软件来执行此操作。是否可能,或者我现在必须编写一个单独的应用程序在单独的计算机上运行,以便能够正确连接和复制?@Quillion,
    希望服务器上已有的监控软件来执行此操作。是否可能
    感谢您的澄清-您应该能够ssh/scp到
    本地主机
    。这样做似乎有点过分,但如果它有效并且是绕过文件锁定的唯一方法……听起来是一个有效的答案,加上一点疯狂。如果没有人给出更好的解决方案,我会在一天内接受你的解决方案。
    加上一点疯狂