Java 无法将列表项获取到txt文件
我只是在java的第4天,所以我基本上是一个初学者。我一直试图将Jlist项写入文本文件,但没有成功。这就是我目前正在尝试的: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
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@majora320listname
从哪里来?我刚刚修复了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();
}