I am trying to write some variables to a text file once a user has inputted some data. I have had it working before but I was tinkering with it and now it doesn't write to the text file at all. Here is the code:
try (PrintWriter out = new PrintWriter(new BufferedWriter(
new FileWriter("C:\\Users\\A612646\\workspace\\CarParkProject\\PrePaid.txt", true)))) {
if (AmountofHours < 0 || AmountofHours > 24) {
out.print(RegNo);
out.print("\t" + AmountofHours);
out.print("\t" + CreditCardNo);
out.print("\t" + expiry);
}
} catch (IOException e) {
e.printStackTrace();
}
Are you sure the line:
if (AmountofHours < 0 || AmountofHours > 24)
should not be
if (AmountofHours > 0 && AmountofHours < 24)
You're saying if a car is parked less than 0 hours or more than 24 then write a line. I think you intend to say if a car is parked for longer than 0 hours and less than 24...
There is nothing wrong with the code!. This code writes the data to the text file. Make sure your logic is correct as willow512 suggested. I would suggest you debug the code to narrow the cause.
public class TestFile {
public static void main(String[] args) {
int AmountofHours = 25;
int RegNo = 52431;
String CreditCardNo = "5315-XXXX-1456-XXXX";
String expiry = "15/25";
try (PrintWriter out = new PrintWriter(new BufferedWriter(
new FileWriter("C:\\Users\\thanigaiarasur\\workspace\\ExploreThings\\PrePaid.txt", true)))) {
if (AmountofHours < 0 || AmountofHours > 24) {
out.print(RegNo);
out.print("\t" + AmountofHours);
out.print("\t" + CreditCardNo);
out.print("\t" + expiry);
System.out.println("printed successfully");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
looks like you are opening a Filewriter, but not the File itself.
try this:
File file = new File("C:\\Users\\A612646\\workspace\\CarParkProject\\PrePaid.txt");
if (!file.exists())
file.createNewFile(); //this creates the file :)
FileWriter fw = new FileWriter(file);
BufferedWriter bw = new BufferedWriter(fw);
bw.write("content to write"); //here you will write you stuff
bw.close();
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.