【发布时间】:2012-12-27 08:01:19
【问题描述】:
所以我有一个ArrayList 我想打印到文件的对象。我有一个PrintToFile 班级,在另一个班级我有一个ArrayList<Expenses> expList
这是我的 PrintToFile 类
import java.util.*;
import java.io.*;
public class PrintToFile{
public void PrintToFile()throws Exception{
File f = new File ("Output.txt");
FileWriter fw = new FileWriter(f, true);
PrintWriter pw = new PrintWriter(fw);
}
public void printExp(ArrayList<Expense> expList){
for(int i = 0; i < expList.size(); i++){
pw.println("---------------------------------------");//line 13
pw.println(expList.get(i));
}
pw.close();
}
}
这是我尝试在我的主类中调用该类
PrintToFile printer = new PrintToFile();
printer.print(expList);
我遇到的第一个编译器错误出现在我的 PrintToFile 类中,它显示 PrintToFile.java:13: error: cannot find symbol,这是对 pw 的第一次调用
我试图弄清楚如何构建和构造类,以便并非所有内容都停留在我的主类的 main 方法中。所以本质上我正在尝试创建一个我可以随时调用来打印 ArrayList 的类。
所以我的问题是,如何构造PrintToFile 类,以便我的printExp 方法可以看到我创建的PrintWriter pw。
任何帮助将不胜感激,谢谢!
【问题讨论】:
-
为什么不将它们保存为 XML? XML 文件在出现时具有模糊的人类可读性,并且使用 XSLT 非常可读。将
Expense类变成一个bean,然后查看XMLDecoder和XMLEncoder来读/写整个ArrayList<Expense>。容易。
标签: java class serialization file-io printwriter