我正在尝试读取文件并将其传递给名为“Allabaque”的类,该类具有一个字符串和两个列表。当我读完第一个不透明的时候,我想清除两个列表,这样我就可以得到下一个值,但是如果我清除了列表,即使我在添加新的abaque后执行它,函数也会将新的abaque与两个空列表。下面是代码:如何清除ArrayList而不影响下一个功能?
public void importFrom(String filename) {
try (
FileInputStream fis = new FileInputStream(filename);
BufferedReader reader = new BufferedReader(new InputStreamReader(fis));) {
String line;
String line2;
int c = 0;
List<String> Pression = new ArrayList<>();
List<String> Couple = new ArrayList<>();
List<String> P2 = new ArrayList<>();
List<String> C2 = new ArrayList<>();
String Cle = "null";
while ((line = reader.readLine()) != null) {
if (c == 2 && !"|".equals(line)) {
String[] arg = line.split("-");
boolean u = Pression.add(arg[0]);
boolean u2 = Couple.add(arg[1]);
}
if (c == 1) {
Cle = line;
c = 2;
//System.out.printf("%s",Cle);
}
if ("|".equals(line)) {
c = 1;
if (!"null".equals(Cle)) {
//P2 = Pression;
//C2 = Couple;
addAbaque(new Abaque(Cle, Pression, Couple));//addAbaque(new Abaque(Cle,P2,C2));
Couple.clear();
Pression.clear();
}
}
}
} catch (IOException ioe) {
System.out.printf("Erreur import");
}
}
的addAbaque方法是简单
public void addAbaque(Abaque abaque) {
mAbaques.add(abaque);``
}
使用调试我想我已经发现,它与内存中的问题,但我reaaly不知道如何解决它。
我也试过两个中间人名单,我把它像评论一样,但仍然没有。
尝试就是这样**尝试{**不是那样**尝试(** –
@YoucefLaidani OP正在使用[try-with-resources](https://docs.oracle.com/javase/tutorial /essential/exceptions/tryResourceClose.html) –
ooh这是我第一次看到这种**尝试(**我应该了解这一点,谢谢@Andy Turner –