【发布时间】:2016-07-01 01:40:00
【问题描述】:
假设我的文本文件中有此文本:
VOTED/1/hannah/18
NOT VOTING/2/janice/20
我有这个代码:
File Orig_outFile = new File("C:\\voters.txt");
BufferedReader infile = new BufferedReader(new FileReader(Orig_outFile));
vNum=JOptionPane.showInputDialog("Enter voters number: ");
String line="";
String something="VOTED";
while(infile.readLine()!=null){
line=infile.readLine();
String [] info=line.split("/");
if(info[1].matches(vNum)){
while(info[0].matches(something)){
JOptionPane.showMessageDialog(null, "Voter already voted or Voter not registered. Please try again");
vNum=JOptionPane.showInputDialog("Enter voters number: ");
}
President();
}
}
infile.close();
任务是用户需要输入一个投票人的号码,然后读取文本文件,然后如果发现文本文件中的info[0]包含VOTED会报错,需要输入又是选民的号码。我假设我的错误是我使用了两次 while 循环?
【问题讨论】:
-
此代码会在发生异常时泄漏
infile资源。
标签: java bufferedreader file-handling