此 OutputStream 代码不会将字符串保存到 Txt 文件中
This OutputStream Code Does't Save the String into the Txt File
下面的输出流代码可以工作..但是请告诉我在哪里可以制作文本文件..我已经把它放在我的桌面上了..
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();
}
}
});
请删除 w.write(str)
之后的 w.flush();
。
因为写入不是立即从缓冲区完成的,而是在缓冲区有足够的数据量或关闭时完成的。在流上调用 flush()
会删除其中的所有数据,无论是否已写入。
您向 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();
}
下面的输出流代码可以工作..但是请告诉我在哪里可以制作文本文件..我已经把它放在我的桌面上了..
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();
}
}
});
请删除 w.write(str)
之后的 w.flush();
。
因为写入不是立即从缓冲区完成的,而是在缓冲区有足够的数据量或关闭时完成的。在流上调用 flush()
会删除其中的所有数据,无论是否已写入。
您向 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();
}