使用数组列表在Java中写入文件但无法正常工作

时间:2018-08-11 04:48:57

标签: java arraylist

看起来不错,但是内容不是通过write()方法写入文件的。我用JoptionPane询问用户输入并将该数据添加到ArrayList中。数据已添加,但是当我尝试将数据输出到文件中时,它没有写入文件。

public class fileArray {
public static void main(String[] args) throws IOException {
    ArrayList al = new ArrayList();
    File f =new File("notworking.txt");
    String names = " ";



    while(!names.isEmpty())
    {
        names=JOptionPane.showInputDialog("EnterName");
        if(!names.isEmpty()){
        al.add(names);}
    }

    FileWriter fw = new FileWriter(f.getAbsoluteFile());
    BufferedWriter bw  = new BufferedWriter(fw);
    int sz= al.size();
    for(int i =0;i<sz;i++){
    bw.write((String) al.get(i));
        System.out.println(al.get(i));
            }



}

}

3 个答案:

答案 0 :(得分:0)

完成编写后,您需要关闭编写器。

bw.close();

答案 1 :(得分:0)

在写入文件后,您必须刷新或关闭缓冲区。最好在finally块中关闭缓冲区,使其习惯于在finally块中关闭缓冲区。

答案 2 :(得分:0)

示例代码:

PrintWriter writer = new PrintWriter("the-file-name.txt", "UTF-8");
writer.println("The first line");
writer.println("The second line");
writer.close();   // CLOSE