繁体   English   中英

使用来自classpath的外部程序打开文件(在Jar中)

[英]Open file with external program from classpath (inside Jar)

我正在构建一个程序,需要使用OS的默认文本阅读器打开一个简单的.txt文件。 我知道您可以执行以下操作:

Desktop desktop = Desktop.getDesktop();
desktop = open(new File("filename"));

但这会从系统的文件路径而不是类路径打开文件。 由于必须分发和传递我的程序,因此帮助文件需要保留在.jar文件中。

我尝试用getClass().getResource("/resources/Help.txt")实现它

像这样:

Desktop desktop = Desktop.getDesktop();
desktop = open(new File(getClass().getResource("/resources/Help.txt")));

但是,这不起作用。 我什至尝试:

Desktop desktop = Desktop.getDesktop();
desktop = open(new File(getClass().getResourceAsStream("/resources/Help.txt")));

但这也不起作用。

Help.txt文件已经在类路径中,我只需要弄清楚如何使用外部程序从类路径中打开此文件。 这可能吗? 如果是,怎么办? 如果没有,是否有替代方法可以实现?

..是否有其他方法可以实现?

将字节提取到一个临时文件中。 然后使用桌面API显示临时文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM