私はこのプログラムを持っています:
import java.util.*;
import java.io.*;
public class Oblig2 {
public static void main (String[] args) {
final Scanner input = new Scanner (System.in);
int menyvalg=0;
Meny menyen = new Meny();
menyen.meny();
}
}
//Selve menyen til programmet i en egen klasse.
class Meny {
PrintWriter fil;
Scanner input = new Scanner (System.in);
public void meny() {
try{
fil=new PrintWriter(new FileWriter("fugler.txt"));
} catch (IOException e) {
System.out.println("Filen finnes ikke");
}
int menyvalg=0;
int menykall=1;
//Menyen vil her bli repetert helt til en taster inn 4 og endrer menykall til 0.
do{
//Selve menyen vil bli repetert helt til brukeren velger en av menyens alternativer.
do{
System.out.println("====== Meny for registrering av fugleobservasjoner =====");
System.out.println("\n1. Registrer en fugleobservasjon");
System.out.println("2. Skriv ut alle fugleobservasjoner av en type");
System.out.println("3. Skriv ut alle fugleobservasjoner på ett bestemt sted");
System.out.println("4. Avslutt systemet");
System.out.println("\nVennligst velg en aksjon: ");
menyvalg = input.nextInt();
} while(menyvalg < 1 || menyvalg > 4);
switch (menyvalg){
case 1: registrering();
break;
case 2:
case 3:
case 4:menykall=0;
}
}while(menykall>=1);
}
void registrering () {
System.out.println("Velkommen til registreringen av fugleobservasjoner.");
System.out.println("Begynner registreringen (Lagrer seg i filen fugler.txt): ");
try {
fil = new PrintWriter(new FileWriter("fugler.txt", true));
System.out.println("\nVennligst tast inn fugletypen: ");
String fugletype = input.next();
fil.write(fugletype + ",");
System.out.println("Tast inn fuglens kjonn (M/H/X): ");
char fuglekjonn = input.next().charAt(0);
fil.write(fuglekjonn + ",");
System.out.println("Tast inn observasjonslokasjon: ");
String lokasjon = input.next();
fil.write(lokasjon + ",");
System.out.println("Tast inn dato for observasjon (Som en string på formen mai2012): ");
String dato = input.next();
fil.write(dato);
fil.close();
}catch(Exception e){
System.out.println("Åpning av fil feilet");
}
}
}
そして、それを実行してから、fugler.txt という .txt ファイルに情報を登録するためのスクリプトであるケース 1 を実行します。問題は、新しい鳥をこれに登録するたびに、ファイルの最後にうまく配置したいということです。しかし、そうではありません。ファイル全体を上書きします。そして、ファイルを開く最後に true を配置したのに、なぜそうするのですか?