我正在使用一个微调器,它从文本文件中获取信息,该文件在另一个活动中创建/修改。当我打开使用此方法的活动时,它会崩溃,说明filenotfound的异常。虽然我已经运行了创建文件的活动,但之前已将数据添加到文件中。我在我的Android设备和模拟器上都试过了。
以下是将数据加载到微调器中的方法:
public void loadOpp() throws FileNotFoundException {
BufferedReader inputReader = new BufferedReader(new InputStreamReader(
openFileInput("Opponent")));
String inputString;
List<String> final2 = null;
try {
while ((inputString = inputReader.readLine()) != null) {
final2.add(inputString);
}
} catch (IOException e) {
e.printStackTrace();
}
Spinner spinner= (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, final2);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(dataAdapter);
}
以下是在其他活动中创建文本文件的方法:
public void onSubmitClick(View view) {
EditText mEdit;
String filename = "Opponent";
mEdit = (EditText)findViewById(R.id.oppName);
String string = mEdit.getText().toString();
FileOutputStream outputStream;
try {
outputStream = openFileOutput(filename, Context.MODE_APPEND);
outputStream.write(string.getBytes());
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
我理解错误,但我不明白为什么如果文件被创建会导致错误,所以可能首先没有创建文件。任何关于如何解决这个错误的想法,以及如何在将来避免它/基本上我做错了什么。
答案 0 :(得分:0)
当您创建文件时,您可能无法在您认为自己的位置创建文件,或者您尝试在没有目录的情况下创建文件。你可以尝试使用
if(f.createNewFile()){
System.out.println("FILE CREATED "+f.getAbsolutePath());
}else{
System.out.println("FILE NOT CREATED "+f.getAbsolutePath());
}
这会告诉您,您创建的文件失败了