这个outputStream Code bellow可以工作..但是plzz告诉我在哪里可以创建一个文本文件..我把它放在我的桌面上..
Button input = (Button) findViewById(R.id.input);
input.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
try {
String str = "MY NAME IS OZEER AHMAD, I BELONGS FROM KASHMIR. DOING BCS FROM PESHAWAR UNIVERSITY";
FileOutputStream fout = openFileOutput(str, MODE_WORLD_READABLE);
OutputStreamWriter w = new OutputStreamWriter(fout);
w.write(str);
w.flush();
w.close();
Toast.makeText(getBaseContext(), "Data Inserted IN OUTPUT FILE", Toast.LENGTH_LONG).show();
} catch (Exception ex) {
// TODO Auto-generated catch block
Toast.makeText(getBaseContext(), "ERROR FOUND IN OUTPUT FILE", Toast.LENGTH_LONG).show();
ex.printStackTrace();
}
}
});
答案 0 :(得分:2)
您将错误的参数传递给openFileOutput,第一个参数是文件名而不是您要写入文件的字符串,请使用以下代码:
String fileName="SOMEFILENAME.txt";
String str="this is the string you will see inside the file";
try {
FileOutputStream outputStream=openFileOutput(fileName,MODE_WORLD_READABLE);
OutputStreamWriter outputStreamWriter=new OutputStreamWriter(outputStream);
outputStreamWriter.write(str);
outputStreamWriter.flush();
outputStreamWriter.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
}
答案 1 :(得分:0)
请在w.flush();
后删除w.write(str)
。
因为写入不是立即从缓冲区完成,而是在缓冲区有足够数量的数据或关闭时。在流上调用flush()
会删除其中的所有数据,无论是否写入。