这里是我的整个代码(ps Im a noobie);FileWriter失败并且未被Catch语句捕获
package xom.aaa.aaa;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Reader;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class FilewritertestActivity extends Activity {
TextView textout1, textout2, textout3;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button b1 = (Button) findViewById(R.id.button1);
textout1 = (TextView) findViewById(R.id.textView1);
textout2 = (TextView) findViewById(R.id.textView2);
textout3 = (TextView) findViewById(R.id.textView3);
b1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//--------- OutputStreamWriter ------------
try {
FileOutputStreamfOut=openFileOutput("settings1.dat", MODE_WORLD_READABLE);
OutputStreamWriter osw = new OutputStreamWriter(fOut);
osw.write("using fileoutput stream to write this to a file");
osw.flush();
osw.close();
}catch(Exception e){
e.printStackTrace(System.err);
}
String datax = "";
StringBuffer buffer = new StringBuffer();
//--------- InputStreamReader -------------------
try {
FileInputStream fIn = openFileInput("settings1.dat");
Reader reader = new InputStreamReader(fIn);
int data = reader.read(); // reads the next char
while(data != -1){
buffer.append((char)data);
data = reader.read();
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
textout1.setText(buffer.toString());
//--------------- FileWriter ---------------
try {
FileWriter fw = new FileWriter("settings1.dat");
BufferedWriter out = new BufferedWriter(fw);
//BufferedWriter out = new BufferedWriter(new FileWriter("settings1.dat"));
out.write("a String");
out.close();
} catch (Exception e){
e.printStackTrace();
textout2.setText(e.toString());
}
}
});
}
}
- 问题是FileWriter的不工作(文件 “settings1.dat”)
- 但OutputStreamWriter和InputStreamReader的不工作(文件 “settings1.dat”)
- 的代码显示写入则读到文件“settings1.dat”都确定了维特流/读卡器...
- 但FileWriter的代码得到错误信息FileNotFoundException异常“只读文件系统”
- 那么,为什么在同一个文件,另一种技术工作d oesn't
- 你能告诉什么荫失踪 - 感谢特雷弗
你在logcat中获得什么输出?您的清单中是否设置了WRITE_EXTERNAL_STORAGE权限? – dymmeh
我做WRITE_EXTERNAL_STORAGE权限,但直到有问题..注意:它使用FileOutputStreamfOut,只是不工作使用FileWriter,谢谢... ive调整后显示代码,证明 – user1050879