私はユーザーのスコアを変更したいが、新しいスコアでファイルを上書きするのではなく、単に空のファイルを作成する。 行は次のように書かれている: "ユーザ名・パスワード-WINS-損失-絆"PrintWriterは空白のファイルを書き込みます
try {
BufferedReader br = new BufferedReader(new FileReader("users.txt"));
PrintWriter pw = new PrintWriter(new FileWriter("users.txt"));
String[] tab = null;
String zlepek = "";
while(br.readLine()!=null) {
String line = br.readLine();
tab = line.split("-");
int countLoss = Integer.parseInt(tab[3]+plusLoss);
int countWin = Integer.parseInt(tab[2]+plusWin);
int countTie = Integer.parseInt(tab[4]+plusTie);
if(tab[0].equals(loginUser.user)) {
String newScore = (tab[0] + "-" + tab[1] + "-" + countWin + "-" + countLoss + "-" + countTie + "\n");
zlepek = zlepek+newScore;
} else {
String oldScore = (tab[0] + "-" + tab[1] + "-" + tab[2] + "-" + tab[3] + "-" + tab[4] + "\n");
zlepek = zlepek+oldScore;
}
}
pw.print(zlepek);
pw.close();
br.close();
plusWin = 0;
plusLoss = 0;
plusTie = 0;
} catch(IOException e) {}
すべてのヘルプは高く評価されています。
下記参照したい場合、私はあなたと私のコードを置き換えますが、私が書くの後にファイルがまだ空でありますそれ。 – n3onis
答えが更新されました。入力ファイルにテキストがありますか? – Saravana
まず、ユーザーを登録して「users.txt」ファイルに保存します。この行は "username-password-wins-losses-ties"(user-pass-0-0-0)のようになります。それから私はゲームをして、このコードは変更された行と変更されていない行をすべて "zlepek"文字列に入れるべきです。最後に、 "zlepek"文字列にあるものをファイルに貼り付けて、既存のテキストを上書きする必要があります。代わりに、すべてが空のファイルで置き換えられます。 – n3onis