Моя проблема что я должен написать код, чтобы проверить, есть ли имя пользователя уже в моем txt-файле (Customers.txt).Проверка имени клиента уже в файле txt с FileReader
Как вы можете видеть, я пишу имя своего клиента, каждую четвертую строку в моем txt-файле. Я хотел бы иметь имя имени клиента с SimpleInOutDialog en, тогда входы должны быть сопоставлены с именем клиента в моем txt-файле. Как это сделать?
Код, который у меня уже есть, приведен ниже.
//make SimpleInOutDialog
SimpleInOutDialog input = new SimpleInOutDialog("Customers");
namecustomer = input.readString("Give in the name");
try{
BufferedReader br = new BufferedReader(new FileReader("L:\\Documents/Informatica/6de jaar/GIP/klanten.txt"));
HashSet<String> hs = new HashSet<String>();
int i = 0;
while ((line = br.readLine()) != null)
{
i++;
if (i % 4 == 0){
if(hs.contains(namecustomer)){
//customer exists
input.showString("The customer exists", "");}
else
{setNewcustomer();}}
}
}catch (Exception e){//Catch wanneer er errors zijn
System.err.println("Error: " + e.getMessage());}
return line;
}
public void setNewcustomer(){
// 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);
//Closing the writer
out.close();
}catch (Exception e){//Catch when there are errors
System.err.println("Error: " + e.getMessage());
}
}
Изменения должны быть быть в GetCustomer() Спасибо !!
Привет, решить мою проблему, вот решение:
public void getKlant() {
// SimpleInOutDialog aanmaken
SimpleInOutDialog input = new SimpleInOutDialog("Klanten");
naamklant = input.readString("Geef de volledige naam in");
try{
BufferedReader br = new BufferedReader(new FileReader("L:\\Documents/Informatica/6de jaar/GIP/klanten.txt"));
HashSet<String> hs = new HashSet<String>();
int i = 0;
while ((line = br.readLine()) != null)
{
i++;
if (i == 1){hs.add(br.readLine());}
if (i % 4 == 0){hs.add(br.readLine());}
}
if(hs.contains(naamklant)){
//klant bestaat
input.showString("De klant bestaat", "");
}else{setNieuweKlant();}
}catch (Exception e){//Catch wanneer er errors zijn
System.err.println("Error: " + e.getMessage());}
}
До сих пор, что вы пытались достичь? Кроме того, мне не нравятся люди, которые постоянно просят разработать собственную программу, не используя свой собственный мозг, и, не выполняя то, что они пытались сделать. -> http://stackoverflow.com/questions/9589689/make-filereader-read-every-fourth-line-with-a-loop –
@AlbertoSolano Ну, я думал об этом уже 2 дня, я действительно Не понимаю ничего о том, как работает BufferedReader, но мне нужно решить эту проблему, потому что это основа моей программы. У меня уже есть другой код, позволяющий ему выбирать, какую услугу он хочет, час бронирования и может ли он получить скидку или нет. Я не позволяю вам, ребята, разработать мою программу, я просто прошу о помощи в этой части программы, потому что я не знаю, как заставить ее работать. Спасибо, в любом случае, чтобы проверить мой вопрос. – PauloPawelo