Den*_*rom 0 java android return try-catch
我想从我创建的方法返回String类型的数据.Eclipse说需要在try catch块之后指定一个返回类型...当我这样做时,Eclipse然后告诉我,我需要将String数据声明为Local变量......这里出了什么问题?
private String ReadData() {
try {
FileInputStream fis = null;
InputStreamReader isr = null;
String data = null;
fis = KVOContact.this.openFileInput("data.txt");
isr = new InputStreamReader(fis);
char[] inputBuffer = new char[fis.available()];
isr.read(inputBuffer);
data = new String(inputBuffer);
isr.close();
fis.close();
} catch (IOException ioe) {
Log.e("KVOContact", "IOError" + ioe);
}
return data;
}
Run Code Online (Sandbox Code Playgroud)
你在街data区内宣布try.它超出了该块之外的范围.
您可以将声明移到try块之前- 但我个人认为catch完全删除块可能更有意义,并声明该方法可以抛出IOException.你也应该关闭你的FileInputStream和你InputStreamReader的finally块,以便在抛出异常时不要让它们保持打开状态.