我試圖讓我的應用程序從EditText寫入文本到文本文件並從它讀入到TextView。它從未更新過TextView,現在應用程序崩潰。任何建議,將不勝感激!無法讀取/寫入文件在android
public class MainActivity extends Activity implements OnClickListener {
String file = Environment.getExternalStorageDirectory() + "/CSCI598.txt";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button rea = (Button) findViewById(R.id.reads1);
rea.setOnClickListener(this);
Button ap = (Button) findViewById(R.id.appends1);
ap.setOnClickListener(this);
}
private void toast(String text)
{
Context context = getApplicationContext();
Toast toast = Toast.makeText(context, text, Toast.LENGTH_LONG);
toast.show();
}
@SuppressWarnings("resource")
@Override
public void onClick(View v) {
TextView tv=(TextView)findViewById(R.id.textView1);
EditText et=(EditText)findViewById(R.id.editText1);
switch(v.getId()) {
case R.id.reads1:
try
{
FileInputStream fis = new FileInputStream(file);
BufferedReader bfr = new BufferedReader(new InputStreamReader(fis));
String in;
StringBuffer stringBuffer = new StringBuffer();
while ((in = bfr.readLine()) != null) {
stringBuffer.append(in + "\n");
}
tv.setText(stringBuffer.toString());
toast("File successfully loaded.");
}
catch (Exception ex)
{
toast("Error loading file: " + ex.getLocalizedMessage());
}
break;
case R.id.appends1:
String txt=et.getText().toString();
try
{
FileWriter writer = new FileWriter(file);
writer.write(txt);
writer.flush();
writer.close();
toast("File successfully saved.");
}
catch (Exception ex)
{
toast("Error saving file: " + ex.getLocalizedMessage());
}
break;
}
}
}
它在哪裏崩潰?您是否設法捕獲導致崩潰的LogCat輸出?您是否嘗試在調試器上運行代碼?你確定你有正確的文件/目錄權限? – MarsAtomic
我正在使用android模擬器運行它,所以不確定權限。 Logcat顯示了大量的錯誤,我不知道我應該看什麼..它在我點擊'閱讀'時崩潰 – Prasad
看到我的更新在答案 – Peshal