Java 检查与共享网络驱动器的连接,如果已连接,请复制文件

Java 检查与共享网络驱动器的连接,如果已连接,请复制文件,java,networking,file-copying,Java,Networking,File Copying,在Java控制台应用程序中,我试图从共享网络复制一个文件,只有在连接到我们研究所的内部网络(内部域)时,我才能访问该网络 因此,当我连接到任何其他网络时(例如,当我在家工作时),这显然不起作用。它试图连接到网络驱动器的时间稍长一些,但我的应用程序的另一方失败了 问题是,如何首先检查此应用程序是否与该网络驱动器有有效连接,然后尝试复制此文件,或者让其他进程正常工作 因为,我已经将此文件的本地副本附加到应用程序中。只有在更新应用程序附带的文件以获得最新信息时,才能复制该文件。 但是,应用程序也可以很

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

因此,当我连接到任何其他网络时(例如,当我在家工作时),这显然不起作用。它试图连接到网络驱动器的时间稍长一些,但我的应用程序的另一方失败了

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

因为,我已经将此文件的本地副本附加到应用程序中。只有在更新应用程序附带的文件以获得最新信息时,才能复制该文件。 但是,应用程序也可以很好地处理此本地文件

哦,是的,我正在寻找一些平台无关的东西,应该可以在windows、Linux和Mac上工作


任何指导或建议都会非常好。

看看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
对于无效,即不可访问,这将打印:

true
true
false
false

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

您复制文件的功能也过于复杂。你也可以用这样的东西:是的,谢谢,我现在正在试这个。令人惊讶的是,当我实际上通过控制台而不是Netbeans厌倦了应用程序时,我没有得到任何错误。