我目前正在开发一个程序,用于从文本文件中读取信息,并使用Apache的POI将其输出到电子表格中。
让我告诉你我有什么
ExcelFile ef = new ExcelFile(file, "the destination");
ExcelFileObject的构造函数:
public ExcelFile(File file, String fp){
System.out.println("Entered ExcelFile constructor");
util = new ExcelUtilities();
this.filepath = fp;
this.data = util.readFromFile(file);
}
然后是readFromFile方法:
public ArrayList<InputData> readFromFile(File file){
System.out.println("Entered readFromFile in ExcelUtilities");
ArrayList<InputData> data = new ArrayList<InputData>();
try {
BufferedReader br = new BufferedReader(new FileReader(file));
String line = "";
while((line = br.readLine()) != null){
if(line.length() > 0){
System.out.println(line);
int x = Integer.parseInt(br.readLine());
System.out.println(x);
int y = Integer.parseInt(br.readLine());
System.out.println(y);
data.add(new InputData(line, x, y)); //Not adding the first thing read in for some odd reason.
}
}
br.close();
return data;
}catch (NumberFormatException e) {
e.printStackTrace();
return null;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
我遇到的问题是,正确格式化的.txt文件中的第一个对象没有被添加到ArrayList数据中。当我在调试器中运行时(使用Eclipse),我注意到它正在读取第一行,x和y值但从未实际将对象存储在data
中。
然后我遇到了一个更奇怪的问题。我添加了System.out.println()语句作为另一个级别的验证,正确读取了文件中的数据,甚至没有打印到控制台上!我尝试运行另一个包含println()的项目,它们工作正常。
所以,我猜主要的问题是为什么不是文件中的第一个主菜被添加到ArrayList中?接下来是为什么不在Eclipse的控制台上显示println()调用?
输出中的选定框是应放置“Hello”的位置。