1

GUI を作成しており、単純な pdf ファイルをヘルプ ファイルとして追加する予定でした。リソース パッケージに含めて、このボードで検索すると、次のコードを思いつきました。

private void GuideActionPerformed(java.awt.event.ActionEvent evt) {                                      
    if (Desktop.isDesktopSupported()) {
    try {
        File myFile = new File(("Help.pdf"));
        if (!myFile.exists()) {
            // In JAR
            InputStream inputStream = ClassLoader.getSystemClassLoader()
                                .getResourceAsStream("resources/manual.pdf");
            // Copy file
            OutputStream outputStream = new FileOutputStream(myFile);
            byte[] buffer = new byte[1024];
            int length;
            while ((length = inputStream.read(buffer)) > 0) {
                outputStream.write(buffer, 0, length);
            }
            outputStream.close();
            inputStream.close();
        }
        Desktop.getDesktop().open(myFile);
    } catch (IOException ex) {
        // no application registered for PDFs
    }
}

問題は、Java アプリケーションで既に使用されているため、pdf リーダーがファイルにアクセスできないことです。それを解決する方法はありますか?それ以外の場合は、単にファイルを dist に追加して、リソース パスを計算します。

4

1 に答える 1

0

私はあなたのコードを試してみましたが、非常にうまく機能します.ソースコードresourcesでファイルmanual.pdfを含むフォルダーを作成したかどうかを確認してください. また、作成時にjar、これらのファイルがエクスポートされていることを確認してください。

于 2013-09-26T13:38:53.907 に答える