【发布时间】:2016-04-13 11:29:55
【问题描述】:
我现在正在学习使用ArrayLists 和PrintWriters,我的教授给我们分配了一些东西,我们必须使用存储在ArrayList 中的多个PrintWriters 对文件进行分区.所以我用一个看起来像这样的for循环初始化Printwriters:
for (int i=1; i<=n; i++) {
try {
this.writers.add(new PrintWriter(new File(filePattern + i)));
}
catch (java.io.IOException e) {
System.out.println("File " + i + " not found.");
}
}
其中writers 是ArrayList<PrintWriter>,filePattern 是源。
但是在我的write 方法中,我必须调用这些PrintWriters 才能真正写东西。使用 int currentFile,我在文件中旋转以对它们进行分区,但是当我没有命名它时,我不确定如何使用 ArrayList 中的 PrintWriter。我可以按如下方式使用“get”方法吗? :
public void write (String s) throws IOException {
if (this.writers.size() > 0) {
PrintWriter p = this.writers.get(currentFile);
p.println(s);
if (this.currentFile == (this.writers.size()-1)) {
this.currentFile = 0;
}
else {
this.currentFile++;
}
}
else {
System.out.println("No Writers currently exist");
}
}
还是不行?如果没有,还有其他方法吗?
【问题讨论】:
标签: java arraylist printwriter