プログラムの実行に必要なシステム情報を保持するために使用しているファイルがあります。プログラムはそれから読み取り、定期的に書き込みます。どうすればよいですか?他の問題の中で、私はパスに問題があります
例
アプリケーションを実行可能なjarとしてデプロイする場合、このプロパティファイルの読み取り/書き込みを行うにはどうすればよいですか?
プログラムの実行に必要なシステム情報を保持するために使用しているファイルがあります。プログラムはそれから読み取り、定期的に書き込みます。どうすればよいですか?他の問題の中で、私はパスに問題があります
例
アプリケーションを実行可能なjarとしてデプロイする場合、このプロパティファイルの読み取り/書き込みを行うにはどうすればよいですか?
http://docs.oracle.com/javase/6/docs/api/java/util/Properties.htmlをご覧ください
このクラスを利用して、property/configファイルのkey=valueペアを使用できます
質問の2番目の部分は、実行可能なjarを作成する方法です。私はMavenでそれを行います、これを見てください:
Mavenを使用して依存関係のある実行可能JARを作成するにはどうすればよいですか?
この :
http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html
プロジェクトのビルドにMavenを使用していないようです
ZIPファイルの一部として存在するファイルに書き込むことはできません...ファイルシステムにファイルとして存在しません。
Preferences APIを検討しましたか?
ファイルから読み取るには、スキャナーを使用してファイルリーダーを次のように宣言できます。
Scanner diskReader = new Scanner(new File("myProp.properties"));
その後、たとえば、プロパティファイルからブール値を読み取りたい場合は、
boolean Example = diskReader.nextBoolean();
ファイルに書き込みたくない場合は少し複雑ですが、これが私のやり方です。
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Random;
import java.util.Scanner;
public class UpdateAFile {
static Random random = new Random();
static int numberValue = random.nextInt(100);
public static void main(String[] args) {
File file = new File("myFile.txt");
BufferedWriter writer = null;
Scanner diskScanner = null;
try {
writer = new BufferedWriter(new FileWriter(file, true));
} catch (IOException e) {
e.printStackTrace();
}
try {
diskScanner = new Scanner(file);
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
appendTo(writer, Integer.valueOf(numberValue).toString());
int otherValue = diskScanner.nextInt();
appendTo(writer, Integer.valueOf(otherValue + 10).toString());
int yetAnotherValue = diskScanner.nextInt();
appendTo(writer, Integer.valueOf(yetAnotherValue * 10).toString());
try {
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
static void appendTo(BufferedWriter writer, String string) {
try {
writer.write(string);
writer.newLine();
writer.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}
次に、次の方法でファイルに書き込みます。
diskWriter.write("BlahBlahBlah");