2016-12-30 4 views
0

PhantomJSを使用して一連のURLにアクセスし、スクリーンショットを同じディレクトリのフォルダに保存する簡単なJavaFxアプリケーションを作成しました。たとえば、jar/exeが「my-app」フォルダにある場合、「my-app/screenshots」にスクリーンショットを保存します。ただし、Inno Setup Compilerを使用してインストーラを作成し、自分のコンピュータにアプリケーションをインストールした後、インストーラで作成したバージョンを実行した後は、何も保存されません。何が問題なの?事前に任意の助けInno Setupコンパイラ - JavaFXアプリケーションでファイルが書き込まれない

byte[] bytes = phantomDriver.getScreenshotAs(OutputType.BYTES); 
File outputFile = new File(outputFolder, String.format("/Home Page/Home_Page-%s.jpg", timestamp)); 
outputFile.getParentFile().mkdirs(); 
FileUtils.writeByteArrayToFile(outputFile, bytes); 

おかげ

答えて

1

アプリケーションは通常、Program Filesファイルをインストールします。これは私のコードでは、画像を保存/作成するときにどのように見えるかの例です。そこにファイルを書き込むことはできません(アプリケーションが高い特権で実行されている場合を除き、推奨されていません)。

ファイルをユーザープロファイルまたは設定可能な場所に書き込むようにアプリケーションを変更する必要があります。

アプリケーションが現在の作業ディレクトリに書き込む場合、クイックハックとして、インストーラによって作成されたショートカットを変更して、作業ディレクトリをユーザープロファイルに設定できます。

関連する問題