데이터를 저장할 텍스트 파일을 만들고 싶습니다. 텍스트 파일의 이름은 사용자가 입력 한 내용을 기반으로합니다. 코드는 정상적으로 작동하지만 왜 파일을 만들지 모르지만 자동으로 null 파일을 생성하지만 내 데이터는 두 파일에 모두 포함되어 있지 않습니다. 왜 그럴까요? 여기에 내 코드 : 그것은 순서대로 기입이 행해질 때 당신은 또한 그렇지 않으면 데이터가 파일에 기록되지 않습니다 귀하의 close 메소드 호출을 추가하고 확인해야파일을 만들려고합니다.
public void setCustomerID()
{
System.out.print("\nYou've choose to register a new customer\n");
System.out.print("Please enter the customer's ID: ");
custID = input.nextLine();
}
public String getCustomerID()
{
return custID;
}
public void openInputFile()
{
try
{
write = new PrintWriter(new BufferedWriter(new FileWriter("C:\\RetailDatabase\\" + (getCustomerID()) + ".txt",true)));
}
catch(IOException e)
{
System.err.println("Error opening/creating/writing a file!");
}
}
public void addCustomer()
{
String firstname, lastname, sex, addrss, phoneNum, dob;
CustomerDetails record;
try
{
setCustomerID();
System.out.print("Please enter the customer's first name: ");
firstname = input.nextLine();
System.out.print("Please enter the customer's last name: ");
lastname = input.nextLine();
System.out.print("Please enter the customer's gender: ");
sex = input.nextLine();
System.out.print("Please enter the customer's address: ");
addrss = input.nextLine();
System.out.print("Please enter the customer's phone number: ");
phoneNum = input.nextLine();
System.out.print("Please enter the customer's date of birth (DD/MM/YYYY): ");
dob = input.nextLine();
record = new CustomerDetails(firstname, lastname, sex, addrss, phoneNum, dob);
write.printf("\nFirst Name: %s \nLast Name: %s \nGender: %s \nAddress: %s \nPhone Number: %s \nDate Of Birth: %s",record.getFirstName(),record.getLastName(),record.getGender(),
record.getCustAddress(),record.getPhoneNumber(),record.getDateOfBirth());
openInputFile();
System.out.print("Customer's details is recorded!");
}
catch(Exception e)
{
System.err.println("Error writing to file!");
return;
}
}
public void closeInputFile()
{
try
{
write.close();
}
catch(Exception e)
{
System.err.println("Error closing file!");
System.exit(1);
}
}
'catch (Exception e) {..' 형태의 코드를 catch (Exception e) {e.printStackTrace(); // 매우 유익한! .. ' –