Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法将列表项获取到txt文件_Java_String - Fatal编程技术网

Java 无法将列表项获取到txt文件

Java 无法将列表项获取到txt文件,java,string,Java,String,我只是在java的第4天,所以我基本上是一个初学者。我一直试图将Jlist项写入文本文件,但没有成功。这就是我目前正在尝试的: public void actionPerformed(ActionEvent e) { for (int j = 0 ; j<list.getItemCount() ; j++) { try { File file = new File(li

我只是在java的第4天,所以我基本上是一个初学者。我一直试图将Jlist项写入文本文件,但没有成功。这就是我目前正在尝试的:

public void actionPerformed(ActionEvent e) {
            for (int j = 0 ; j<list.getItemCount() ; j++)
            {

                try {
                    File file = new File(listname + ".txt");
                    FileWriter fileWriter = new FileWriter(file);
                    PrintWriter printWriter = new PrintWriter(fileWriter);
                    String email1 =list.getItem(j).toString();
                    printWriter.print(email1);
                    printWriter.print("\n");
                    fileWriter.flush();
                    fileWriter.close();
                } catch (IOException l) {
                    l.printStackTrace();
                }
            }
        }
它起作用了。但是,当我尝试放置Jlist项时,情况并非如此。有什么帮助吗?谢谢

更新:
我的第一个错误是在更正时忘记执行
listname.getText()
。现在它写入文件,但只写入添加到列表中的最后一项。有什么想法吗???

您正在覆盖列表中每个元素的文件。您需要将打开和关闭文件移动到循环之外:

public void actionPerformed(ActionEvent e) {
    try {
        File file = new File(listname + ".txt");
        FileWriter fileWriter = new FileWriter(file);
        PrintWriter printWriter = new PrintWriter(fileWriter);
        for (int j = 0 ; j<list.getItemCount() ; j++)
        {
            String email1 =list.getItem(j).toString();
            printWriter.print(email1);
            printWriter.print("\n");
        }
        fileWriter.flush();
        fileWriter.close();
    } catch (IOException l) {
    l.printStackTrace();
}
public void actionPerformed(ActionEvent e){
试一试{
File File=新文件(listname+“.txt”);
FileWriter FileWriter=新的FileWriter(文件);
PrintWriter PrintWriter=新的PrintWriter(fileWriter);

对于(int j=0;j0)您的错误:
(文件名、目录名或卷标语法不正确)
您正在尝试使用列表内容创建文件。它包含无效字符。我实际上忘记了执行
listname.getText();
我刚刚执行了此操作,但在线程中遇到了另一个错误:
异常“AWT-EventQueue-0”java.lang.ArrayIndexOutOfBoundsException:2>=2
@JorgeCampos@majora320
listname
从哪里来?我刚刚修复了
listname
它是一个jtextfield,我忘了做
getText()
我刚做了,我有一个新的错误,你可以在我之前的评论中看到。@Majora320什么类型是
列表
?它不是
列表
,因为它没有你调用的一些方法。非常感谢!!它解决了我的问题!我知道这很愚蠢。你是最好的。
printWriter.print("actual string");
public void actionPerformed(ActionEvent e) {
    try {
        File file = new File(listname + ".txt");
        FileWriter fileWriter = new FileWriter(file);
        PrintWriter printWriter = new PrintWriter(fileWriter);
        for (int j = 0 ; j<list.getItemCount() ; j++)
        {
            String email1 =list.getItem(j).toString();
            printWriter.print(email1);
            printWriter.print("\n");
        }
        fileWriter.flush();
        fileWriter.close();
    } catch (IOException l) {
    l.printStackTrace();
}