我的问题,我无法弄清楚如何使用文件阅读器阅读客户名称。
我正在预订系统,我需要知道客户已经存在。这就是为什么我必须阅读我的Customers.txt文件,以便检查某人是否已经是客户。如果他不是,我将使用文件编写器创建一个新的(我已经有代码)。
此预订系统的含义是与理发师预约。我必须将预订放在另一个名为Reservations.txt的txt文件中,在该文件中,您可以看到每个预订时间以及预订者。
感谢您的帮助!
这是我已有的代码: (有些评论是荷兰语,但我会翻译它们)
package nielbutaye;
import java.io.*;
import java.util.UUID;
/**
* @author Niel
*
*/
public class Klant {
//declaration that represents the text
public static String S;
public static String NEWLINE = System.getProperty("line.separator");
/**
* constructor
*/
public Klant(){}
/**
* @return
* By giving the name of the customer you will get all the data from the customer
*/
public double getCustomer() {
return 0 ;
}
/**
* Make a new customer
*/
public void setNew customer(){
// make a newSimpleInOutDialog
SimpleInOutDialog input = new SimpleInOutDialog("A new customer");
//input
S = "Name customer: " + input.readString("Give in your name:");
WriteToFile();
S = "Adress: " + input.readString("Give your adress");
WriteToFile();
S = "Telephonenummber: " + input.readString("Give your telephonenumber");
WriteToFile();
//making a customerID
UUID idCustomer = UUID.randomUUID();
S = "CustomerID: " + customerID.toString();
WriteToFile();
}
public void WriteToFile(){
try{
FileWriter writer = new FileWriter("L:\\Documents/Informatica/6de jaar/GIP/Customer.txt", true);
BufferedWriter out = new BufferedWriter(writer);
//Wrting away your data
out.write(S + NEWLINE);
//Closing the writer
out.close();
}catch (Exception e){//Catch when there are errors
System.err.println("Error: " + e.getMessage());
}
}
}
答案 0 :(得分:0)
BufferedReader()
有一个名为readLine()
的方法,您可以使用该方法从文件中读取一行:
BufferedReader br = new BufferedReader(new FileReader("Customers.txt"));
String line;
while ((line = br.readLine()) != null)
{
...
}
br.close();
从您的WriteToFile()
方法看,客户的详细信息似乎占用了四行,客户的名称出现在第一行。搜索客户时,请安排while
循环以仅检查每四行读取一次。
其他要点:
S
成为成员变量,而不是static
。只需在String
中声明一个本地setNewCustomer()
实例,并将其作为参数传递给WriteToFile()
。NEWLINE
的{{1}}方法,而不是定义BufferedWriter
变量。