我已经解决了自己的问题,但我不知道为什么我的第一次尝试没有奏效,我希望有人能告诉我原因。我还希望是否有人能告诉我我的最终解决方案是否是“好”的解决方案(我的意思是,它是否有效)?
这是我第一次尝试读取之前创建的输入文件:
private byte[] mInputData;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_view);
Intent myIntent = getIntent();
mFilename = myIntent.getStringExtra("FILENAME");
mSplitSeq = myIntent.getStringExtra("SPLIT_SEQ");
try {
fis = openFileInput(mFilename);
fis.read(mInputData);
fis.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
这是我在网上找到的确实有效的东西:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_view);
Intent myIntent = getIntent();
mFilename = myIntent.getStringExtra("FILENAME");
mSplitSeq = myIntent.getStringExtra("SPLIT_SEQ");
try {
fis = openFileInput(mFilename);
BufferedReader reader = new BufferedReader(new InputStreamReader(fis));
String line = null, input="";
while ((line = reader.readLine()) != null)
mTimeStr += line;
reader.close();
fis.close();
//fis.read(mInputData);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
我在第一个实现中收到的错误是调用 fis.read(mInputData) 函数时出现 NullPointerException。