我要做的是删除我所做的预订 txt 文件中的预订看起来像这样
08:00
Niel Butaye
1
我必须删除预订的代码是:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.File;
import java.io.FileWriter;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
public class ReservatieVerwijderen {
static String naamklant="";
public ReservatieVerwijderen() {}
public void removeLineFromFile(String file, String lineToRemove) {
try {
File inFile = new File(file);
if (!inFile.isFile()) {
System.out.println("Parameter is not an existing file");
return;
}
//Maak een nieuw bestand dat later het originele bestand wordt
File tempFile = new File(inFile.getAbsolutePath() + ".tmp");
BufferedReader br = new BufferedReader(new FileReader(file));
PrintWriter pw = new PrintWriter(new FileWriter(tempFile));
String line = null;
//Lees het originele bestand en schrijf naar het tijdelijke bestand
//Als de lijn == de lijn die we zoeken schrijven we dit niet over
while ((line = br.readLine()) != null) {
if (!line.trim().equals(lineToRemove)) {
pw.println(line);
pw.flush();
}
}
pw.close();
br.close();
//Verwijder het originele bestand
if (!inFile.delete()) {
System.out.println("Could not delete file");
return;
}
//Hernoem het tijdelijke bestand naar het originele
if (!tempFile.renameTo(inFile))
System.out.println("Could not rename file");
}
catch (FileNotFoundException ex) {
ex.printStackTrace();
}
catch (IOException ex) {
ex.printStackTrace();
}
}
public static void main(String[] args) {
ReservatieVerwijderen util = new ReservatieVerwijderen();
SimpleInOutDialog input = new SimpleInOutDialog("Reserveringen");
naamklant = input.readString("Geef de volledige naam in");
util.removeLineFromFile("L:\\Documents/Informatica/6de jaar/GIP/Reserveringen.txt", naamklant);
}
}
它只删除了预订者的名称,我还需要删除小时(08:00)和预订类型(1)。有什么帮助吗?
public class SimpleInOutDialog {
private String titel;
/**
* Constructor van een SimpleInOutDialog.
*
* @param titel een String met de titel van het venstertje.
*/
public SimpleInOutDialog(String titel) {
this.titel = titel;
}
/**
* Tonen van een tekst in een dialoogvenstertje.
* @param message een String met een te tonen berichtje.
* @param output een String met de te tonen tekst.
*/
/**
*
* @param
*/
public void showString(String message, String output) {
JOptionPane.showMessageDialog(
null,
message + "\n\n" + output + "\n\n",
titel,
JOptionPane.PLAIN_MESSAGE);
}
/**
* Tonen van een geheel getal in een dialoogvenstertje.
* @param message een String met een te tonen berichtje.
* @param een int met het te tonen getal.
*/
public void showInteger(String message, int getal) {
JOptionPane.showMessageDialog(
null,
message + "\n\n" + Integer.toString(getal) + "\n\n",
titel,
JOptionPane.PLAIN_MESSAGE);
}
/**
* Tonen van een geheel getal in een dialoogvenstertje.
* @param message een String met een te tonen berichtje.
* @param een double met het te tonen getal.
*/
public void showDouble(String message, double getal) {
JOptionPane.showMessageDialog(
null,
message + "\n\n" + Double.toString(getal) + "\n\n",
titel,
JOptionPane.PLAIN_MESSAGE);
}
/**
* Inlezen van een String.
* @param message een String met de tekst die in het dialoogvenster
* moet getoond worden.
* @return de ingelezen String. Indien het venster zonder
* invoer wordt afgesloten is de String null.
*/
public String readString(String message) {
Object[] possibilities = null;
String s = null;
s =
(String) JOptionPane.showInputDialog(
null,
message,
this.titel,
JOptionPane.PLAIN_MESSAGE,
null,
possibilities,
"");
if ((s == null) || (s.length() == 0)) {
s = null;
}
return s;
}
/**
* Inlezen van een geheel getal.
* @param message een String met de tekst die in het dialoogvenster
* moet getoond worden.
* @return het ingelezen geheel getal (een int). Indien het venster zonder
* correcte invoer wordt afgesloten is het getal 0 (nul).
*/
public int readInteger(String message) {
boolean isAnInteger = false;
String tekst = null;
int gelezen = 0;
while (!isAnInteger) {
tekst = readString(message);
if (tekst != null) {
try {
gelezen = Integer.parseInt(tekst);
isAnInteger = true;
} catch (NumberFormatException nfe) {
isAnInteger = false;
}
} else {
isAnInteger = true;
gelezen = 0;
}
}
return gelezen;
}
/**
* Inlezen van een kommagetal.
* @param message een String met de tekst die in het dialoogvenster
* moet getoond worden.
* @return het ingelezen getal (een double). Indien het venster zonder
* correcte invoer wordt afgesloten is het getal 0.0 (nul).
*/
public double readDouble(String message) {
boolean isADouble = false;
String tekst = null;
double gelezen = 0.0;
while (!isADouble) {
tekst = readString(message);
if (tekst != null) {
try {
gelezen = Double.parseDouble(tekst);
isADouble = true;
} catch (NumberFormatException nfe) {
isADouble = false;
}
} else {
isADouble = true;
gelezen = 0.0;
}
}
return gelezen;
}
/**
* Wanneer je in je programma geen uitvoer meer nodig hebt
* MOET je deze bewerking op het SimpleInOutDialog-object uitvoeren.
* Het programma wordt dan beëindigd.
*/
public void stop() {
System.exit(0);
}
}