[英]FileWriter not writing to text file (java)
一旦用戶輸入了一些數據,我試圖將一些變量寫入文本文件。 我以前曾經使用過它,但是現在我正在修補它,現在它根本不寫入文本文件。 這是代碼:
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();
}
您確定行:
if (AmountofHours < 0 || AmountofHours > 24)
不該是
if (AmountofHours > 0 && AmountofHours < 24)
您是說如果汽車停放時間少於0小時或超過24小時,請寫一條線。 我想您打算說的是,如果汽車停放時間超過0小時且少於24小時...
代碼沒有錯! 此代碼將數據寫入文本文件。 確保您的邏輯正確,如willow512所建議。 我建議您調試代碼以縮小原因。
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();
}
}
}
看起來您正在打開Filewriter,而不是File本身。
嘗試這個:
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();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.