如何将文本行和arraylist存储到.txt文件中?

时间:2013-11-30 13:28:20

标签: java arraylist

我遇到了程序问题。 bellow方法是我的程序的一部分,假设将存储在ArrayList中的文本行存储到文本文件(例如store.txt)中,我在这里做错了什么?程序编译但不将文本行存储到所述文件中。 Bellow是用于存储文本行的所述方法

// this part stores the string into a file
static void storeTextLinesToFile(List<String> listOfTextLines, String fileName) {
    try {
        PrintWriter outputFile = new PrintWriter(new FileWriter(
                "C:/Users/Asus/Desktop/zing/store.txt/" + fileName));

        for (String line : listOfTextLines) {
            outputFile.println(line);
        }

        outputFile.close();

    } catch (IOException ioException) {
        System.out.println("\n\n Cannot write to file \"" + fileName + "\"");
    }
}

2 个答案:

答案 0 :(得分:0)

在catch块中使用printStackTrace()。然后只有你知道你的程序的绝对错误。 看看这里。

PrintWriter output_file  = new PrintWriter( new FileWriter( "C:/Users/Asus/Desktop/zing/store.txt/" + given_file_name ) ) ;

假设store.txt是文件而不是目录,那么您将获得FileNotFoundException。 所以试试这个..

PrintWriter output_file  = new PrintWriter( new FileWriter( "C:/Users/Asus/Desktop/zing/" + given_file_name ) ) ;

将给定_file_name的值设为"store.txt"

答案 1 :(得分:0)

试试这个。它是可运行的代码。它显示您上面的代码工作正常。我只是改变了文件路径。我正在从NetBeans运行,因此文件最终会出现在Project Root文件夹中。

ProjectRoot
         src
         build
         store.txt

import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

public class StoreToFIle {

    public static void main(String[] args) {
        List<String> list = new ArrayList<>();

        for (int i = 0; i < 20; i++) {
            list.add(String.valueOf(i));
        }

        storeTextLinesToFile(list, "store.txt");
    }

    static void storeTextLinesToFile(List<String> listOfTextLines, String fileName) {
        try {
            PrintWriter outputFile = new PrintWriter(new FileWriter(fileName));

            for (String line : listOfTextLines) {
                outputFile.println(line);
            }

            outputFile.close();

        } catch (IOException ioException) {
            System.out.println("\n\n Cannot write to file \"" + fileName + "\"");
        }
    }
}