2017-06-08 4 views
1

テーブルを持つUIを作成するJavaプロジェクトがあります。このテーブルは編集可能です。エントリを追加すると、jsonに保存されますプロジェクトフォルダ内のsrcの外のデータフォルダ。私はIntellijを使用しています。アーティファクトにするためのJARを作成することがわかっていて、データフォルダがリソースとして選択されています。しかしJARが作成されたとき、JARSはそれらのファイルを編集することができないので、data/items.jsonというファイルは見つかりませんでしたか?ファイルを使用してアプリケーション情報を保存するJARを作成する方法

+0

。 – CrazyCoder

答えて

1

jarファイルは読み取り専用です。つまり、jarファイル内に情報を保存することはできません。あなたはそれらを読んでファイルを保存することはできますが、編集することはできません。

  1. 保存どこか*.json OSのTEMPパスを例えば内のファイルまたはあなたがそれらを読み書きすることができます

    あなたのケースでは、多かれ少なかれ2つのオプションがあります。

  2. ジッパーのようなハンドル - https://stackoverflow.com/a/4056713/8087490 -
    1. JARファイルやZIPアーカイブのリーダーとしてのオープンを見つけます。
    2. 新しいバージョンのJARファイルを書き込むためのZIPアーカイブライターを作成します。
    3. アプリケーションのファイルをライターに書き込みます。
    4. 古いバージョンのアプリケーションファイルを除いて、ZIPリーダーからライターにすべてのリソースを書き込みます。
    5. リーダーとライターを閉じます。
    6. JARの新しいバージョンの名前を変更して、古いバージョンを置き換えます。
は、コンフィギュレーションファイルを操作したり、ファイルシステム内のデータを永続化するために、いくつかのライブラリを使用するクラスパスの代わりにファイルシステムを使用するようにコードを書き換え
関連する問題