【发布时间】:2013-09-25 16:10:51
【问题描述】:
我试图从我的 java 应用程序中打开文件。使用来自
的以下代码Open PDF file on fly from Java application
代码:
if (Desktop.isDesktopSupported()) {
try {
File myFile = new File("/path/to/file.pdf");
Desktop.getDesktop().open(myFile);
} catch (IOException ex) {
// no application registered for PDFs
}
}
当我使用如下路径时:
"C:\\Users\\kalathoki\\Documents\\NetBeansProjects\\TestJava\\src\\files\\test.pdf"
它打开了。但是我的文件在我的包里
files/test.pdf
我用过
files\\test.pdf
它显示以下异常:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: The file: \files\test.pdf doesn't exist.
为什么?任何想法...我想将我的文件包含在我的 jar 文件中,该文件可以在用户需要时从我的应用程序中打开。
谢谢...
【问题讨论】:
-
如果该类的文件在 src 中,则将路径更改为 files/test.pdf
-
为什么要用
files\\test.pdf打开files/test.pdf? -
@Tichodroma 实际上
C:\\Users\\kalathoki\\Documents...工作所以我尝试了files\\test.pdf和test.pdf文件在files包内 -
您尝试新的
path/to而不是/path/to吗? new 也可以尝试显示new File(".");的绝对路径,肯定有帮助 -
我没有阅读
I want to keep my file inside my project jar file.部分,抱歉。使用InputStream is = System.class.getResourceAsStream("/path/to/file.pdf");获取InputStream
标签: java file-io fileinputstream fileoutputstream