親愛なる専門家、この質問は関連しています
更新された質問
そして、次の2つのコードを使用しました。
からアプリケーションを実行すると、次のコードは正常に動作しますworkspace
。
URL resource = Thread.currentThread().getContextClassLoader().getResource("resources/User_Guide.pdf");
File userGuideFile = null;
try {
userGuideFile = new File(resource.getPath());
if (Desktop.isDesktopSupported())
{
Desktop desktop = Desktop.getDesktop();
desktop.open(userGuideFile);
}
} catch (Exception e1) {
e1.printStackTrace();
}
しかし、別の場所にコピーproject.jar
すると、ファイルが開かれず、ログに として表示されますfile is not found "c:\workspace\project...pdf"
。そして、私は同じページから次のコードを使用しました.My pdfReader adobe readerは例外を示しています file is either not supproted or damaged
:
コード:
if (Desktop.isDesktopSupported())
{
Desktop desktop = Desktop.getDesktop();
InputStream resource = Thread.currentThread().getContextClassLoader().getResource("resources/User_Guide.pdf");
try
{
File file = File.createTempFile("User_Guide", ".pdf");
file.deleteOnExit();
OutputStream out = new FileOutputStream(file);
try
{
// copy contents from resource to out
}
finally
{
out.close();
}
desktop.open(file);
}
finally
{
resource.close();
}
}
アイデアをください。あなたの助けに感謝します。ありがとうございました
注:*.txt
ファイルを開こうとしましたが、正常に動作しています。しかし、PDF
とでは機能しませんDOC
。主な問題は、プロジェクトのワークスペース ディレクトリを変更するアプリケーションを実行するときです。実際に私は次のようにしたい: メニューの下にあるNtebeansキーボードショートコードドキュメントHelp