1

私は 3 つの jar を持っています: jar1、jar2、および jar3 は、他の PC で変更できる同じパスにあります (例: c:\prova)

jar1 を実行すると、jar2 が Windows Sturtup フォルダーに移動します。

私はjar2がWindowsの起動ごとに単にjar3をアクティブにすることを望んでいますが、もちろん、最初のパスに残っているjar3は見つかりません。

したがって、jar1 を移動するとき、または少なくとも最初の呼び出し時に、jar1 が jar2 への参照 (この場合はパス c:\prova) を渡すようにします。

難しい理由は次のとおりです。jar2 のテキスト ファイルにパスを書き込めません。jar 内のテキスト ファイルは書き込み可能ではありません。

Windows のスタートアップ フォルダーにテキスト ファイルを書き込めません。Windows を起動するたびにテキスト ファイルが開かれます。

パスをパラメーターとして渡すことはできません。最初の呼び出しには適していますが、連続する呼び出しのためにこの値を保存することはできません。

私の悪い英語で申し訳ありません、助けてくれてありがとう!

4

1 に答える 1

1

jar2にファイルPath.txt(jar3のパスを含む)を追加するには:

Runtime.getRuntime().exec("jar uf jar2.jar Path.txt");

jar2のファイルを読み取るには(スタートアップは私のクラス名です):

        String s = "/Path.txt";
        is = Startup.class.getResourceAsStream(s);
        br = new BufferedReader(new InputStreamReader(is));
        while (null != (line = br.readLine())) {
            list.add(line);
        }

ありがとう!

于 2012-09-19T15:17:13.683 に答える