簡體   English   中英

FileWriter在Arraylist中循環,但不寫入文本文件

[英]FileWriter cycling through Arraylist but not writing to text file

我正在用Java創建登錄表單,並添加了一個“記住我”方法,用於將日志數據存儲在本地文本文件中,以備將來使用。

前提是選中此復選框后,電子郵件和密碼就會寫到文本文件中。

這是下面的代碼:

import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;

public void rememberMe() throws IOException {

private final ArrayList<String> storage = new ArrayList<String>();
protected String storPass;
protected String storEmail;


    storage.add(storEmail);
    storage.add(storPass);
    FileWriter writer = new FileWriter("local.txt"); 
    for(String i : storage) {
          writer.write(i);
          System.out.println("We have written " + i);
        }
      writer.close();
    }

輸出為:

We have written EMAILADDRESS
We have written PASSWORD

數據已刪除,但是在foreach外觀中的打印顯示出它正在正確循環遍歷Arraylist。

local.txt中沒有任何數據,它在運行前為空,在程序運行期間及之后為空。

有人可以發現我遇到的問題嗎?

提前致謝。

代替使用相對路徑,使用絕對路徑,例如D:\\\\local.txt 會工作的

嘗試使用:
路徑在系統上定位/創建文件
然后,使用Files對象使用列表靜態寫入文件。

Path file = Paths.get("local.txt");
Files.write(file, storage, Charset.forName("UTF-8"));

這樣,您就可以避免編寫顯式的foreach循環。

自Java 1.7+起https://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html以來可用的文件對象更多信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM