java无法访问网络位置_无法使用Java Desktop在网络上启动文件?

我有一个位于共享网络位置的文件:

"\\KUROSAVVAS-PC\Users\kuroSAVVAS\Desktop\New Folder\Warsaw Panorama.JPG"

(有意留有空格)

如下代码:

import java.awt.Desktop;

import java.io.File;

import java.io.IOException;

public class Test {

public static void main(String[] args) {

try {

String s = "\\\\KUROSAVVAS-PC\\Users\\kuroSAVVAS\\Desktop\\New Folder\\Warsaw Panorama.jpg";

File f = new File(s);

System.out.println(f.exists());

Desktop.getDesktop().open(f);

} catch (IOException e) {

e.printStackTrace();

}

}

}

打印到该文件存在的控制台( System.out.println(f.exists()); ),但抛出此异常!:

java.io.IOException: Failed to open file:KUROSAVVAS-PC/Users/kuroSAVVAS/Desktop/New%20%20%20%20%20Folder/Warsaw%20%20%20%20Panorama.jpg. Error message: The system cannot find the file specified.

at sun.awt.windows.WDesktopPeer.ShellExecute(WDesktopPeer.java:59)

at sun.awt.windows.WDesktopPeer.open(WDesktopPeer.java:36)

at java.awt.Desktop.open(Desktop.java:254)

at Test.main(Test.java:13)

有谁知道为什么会发生这种情况?我已经尝试了从创建URI到随后对其进行解码的所有操作……没有任何效果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一些简单的步骤来在Docker容器中部署Java项目: 1. 首先,需要在本地计算机上安装Docker。可以从Docker官网下载并安装它:https://www.docker.com/products/docker-desktop 2. 创建一个新的目录,并将您的Java项目代码放入该目录中。 3. 在该目录中,创建一个名为“Dockerfile”的文件(没有扩展名)。它应该包含以下内容: ``` FROM openjdk:8-jdk-alpine COPY . /usr/src/myapp WORKDIR /usr/src/myapp RUN javac Main.java CMD ["java", "Main"] ``` 这个文件告诉Docker,我们需要使用OpenJDK 8镜像来运行我们的Java程序,并且我们将复制整个项目代码到容器的“/usr/src/myapp”目录中。在容器中,我们将在“/usr/src/myapp”目录中工作,并使用javac”命令来编译我们的Java程序。最后,我们将使用“CMD”命令来运行我们的程序。 4. 确保您的终端在Dockerfile所在的目录中,然后使用以下命令来构建Docker镜像: ``` docker build -t my-java-app . ``` 这将使用我们的Dockerfile来构建一个名为“my-java-app”的新Docker镜像。 5. 运行以下命令来启动容器并运行我们的Java应用程序: ``` docker run -it --rm --name my-running-app my-java-app ``` 这将启动一个新的容器,并在其中运行我们的Java程序。如果您希望容器在后台运行,请添加“-d”选项。 以上就是在Docker容器中部署Java项目的简单步骤。当您完成后,您的Java应用程序应该在Docker容器中运行,并且可以从其他计算机上的Docker容器访问

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值