【问题标题】:Check connectivity to shared network drive and if connected copy file检查与共享网络驱动器的连接以及是否连接了副本文件
【发布时间】:2014-03-23 04:22:45
【问题描述】:

在 Java 控制台应用程序中,我试图从共享网络复制单个文件,只有在连接到我们研究所的内部网络(内部域)时我才能访问该文件。

所以当我连接到任何其他网络时,这显然不起作用,例如当我在家工作时。它如何尝试连接到网络驱动器的时间更长一些,然后我的应用程序的另一方就失败了。

问题是,我如何检查此应用程序是否与该网络驱动器有有效连接,然后尝试复制此文件或让其他进程正常工作。

因为,我已经将此文件的本地副本附加到应用程序。只需复制该文件,即可更新随应用程序附加的文件以获取最新信息。 但是,该应用程序也可以很好地处理此本地文件。

哦,是的,我正在寻找独立于平台的东西,应该可以在 Windows、Linux 和 Mac 上运行。

任何方向或建议都会很棒。

【问题讨论】:

  • 您的文件复制功能也过于复杂。你也可以使用这样的东西:stackoverflow.com/questions/106770/…
  • 是的,谢谢,我现在正在尝试这个。令人惊讶的是,当通过 Netbeans 的控制台实际运行应用程序时,我没有收到任何错误。

标签: java networking file-copying


【解决方案1】:

看看 File 类及其函数,例如 isDirectory() 和 exists()。例如,

import java.io.File;

public class Test {

    public static void main(String[] args) {
        File file = new File("\\\\server01\\\\folder");
        System.out.println(file.isDirectory());
        System.out.println(file.exists());

    }
}

对于有效的 UNC 路径,将打印:

true
true

对于无效,即不可访问,这将打印:

false
false

注意:您需要 4 个斜杠来表示“\”,因为“\”用于转义序列。

【讨论】:

    猜你喜欢
    • 2022-10-05
    • 2017-09-09
    • 1970-01-01
    • 2011-04-21
    • 2011-02-14
    • 2013-04-15
    • 1970-01-01
    • 1970-01-01
    • 2015-09-18
    相关资源
    最近更新 更多