Java .jar给出"句柄无效"消息,但在Netbeans中运行程序没有。任何想法从哪里开始都会有所帮助。该程序将数据库从一个IP移动到另一个IP。
private String[] readSourceFile() {
//This method returns an array of strings to populate the IP drop down list
ArrayList<String> arr = new ArrayList<>();
String strLine;
try {
FileInputStream fstream = new FileInputStream("SourceIPlist.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
while ((strLine = br.readLine()) != null) {
arr.add(strLine);
}
in.close();
br.close();
fstream.close();
} catch (FileNotFoundException ex) {
JOptionPane.showMessageDialog(null, ex.getMessage());
} catch (IOException ei) {
JOptionPane.showMessageDialog(null, ei.getMessage());
}
return arr.toArray(new String[arr.size()]);
}
答案 0 :(得分:0)
我注释掉了in.close();呼叫和消息停止。我从我遇到的一些例子中选择了这个。我假设它立刻关闭了所有输入(fstream,br)。现在我想到了in.close();是在做一个匿名的对象还是什么?思考?
以下是该方法的详细信息。
public void close()抛出IOException 关闭此输入流并释放与该流关联的所有系统资源。 InputStream的close方法什么都不做。 抛出: IOException - 如果发生I / O错误。