sách gpt4 ai đã đi

java - 无法从 URL 获取 URI,获取 null?

In lại 作者:行者123 更新时间:2023-11-30 09:28:25 30 4
mua khóa gpt4 Nike

我的可执行 jar 中有一个模板文件 (.xls)。不需要在运行时我需要为这个文件创建 100 多个副本(稍后将唯一地附加)。用于获取 jar 文件中的资源 (template.xls)。我正在使用

URL templateFile=G1G2Launcher.class.getClass().getResource(File.separator+"Template.xls");
System.out.println("URL-->"+templateFile);
System.out.println("URI For Source-->"+templateFile.toURI().getPath());
sourceFile=templateFile.toURI().getPath();

我在 templateFile.toURI.getPath() 得到一个空值可能是什么原因?这是我得到的:

URL--> jar:file:/home/eketdik/Desktop/G1G2-KD@Tool.jar!/Template.xls
URI For Source-->null

实际上,我将此 URI 传递给 File 构造函数以为其获取文件对象..(用于复制它)。所以堆栈跟踪是-->

java.lang.NullPointerException
at java.io.File.(File.java:251)
at gui.Utility.copyfile(Utility.java:29)
at printer.Printer.printFinalSiteWiseReportsForSignOff(Printer.java:1408)

请指出我哪里出错了??

1 Câu trả lời

在运行时修改 Jar 文件是不可能的。

因此您可以将文件作为输入流获取,然后在 jar 之外创建副本。下面的代码可帮助您创建所需的文件。

InputStream in = G1G2Launcher.class.getClass().getResourceAsStream("file.xls")
OutputStream out = new FileOutputStream(new File("file.xls"));
int read = 0;
byte[] bytes = new byte[1024];
while ((read = in.read(bytes)) != -1) {
out.write(bytes, 0, read);
}

关于java - 无法从 URL 获取 URI,获取 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14052843/

30 4 0
Bài viết được đề xuất: java - 从 ip 地址获取地理位置
Bài viết được đề xuất: javascript - 通过比较 2 个 JavaScript 数组生成表格数据
Bài viết được đề xuất: javascript - Node.js + ajax,上传文件
Bài viết được đề xuất: java - 在 POST 到外部 URL 之前执行一些 JSF 业务逻辑
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com