Android保存到file.txt追加
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android保存到file.txt追加相关的知识,希望对你有一定的参考价值。
我承认我还在学习,并认为自己是一个关于编程的新手(充其量)。我在android中附加文件时遇到问题。每当我保存,它将重写文件,我无法理解如何保留已存在的文件,只添加一个新行。希望有一些清晰/建议。这是我如何保存到文件(每次保存时重写文件)。
public void saveText(View view){
try {
//open file for writing
OutputStreamWriter out = new OutputStreamWriter(openFileOutput("save.txt", MODE_PRIVATE));
//write information to file
EditText text = (EditText)findViewById(R.id.editText1);
String text2 = text.getText().toString();
out.write(text2);
out.write('
');
//close file
out.close();
Toast.makeText(this,"Text Saved",Toast.LENGTH_LONG).show();
} catch (java.io.IOException e) {
//if caught
Toast.makeText(this, "Text Could not be added",Toast.LENGTH_LONG).show();
}
}
答案
改变这个,
OutputStreamWriter out = new OutputStreamWriter(openFileOutput("save.txt", MODE_PRIVATE));
至,
OutputStreamWriter out = new OutputStreamWriter(openFileOutput("save.txt", Context.MODE_APPEND));
这会将您的新内容附加到现有文件中。
我希望它有所帮助!
另一答案
使用此方法,传递filename和要添加到文件中的值
public void writeFile(String mValue) {
try {
String filename = Environment.getExternalStorageDirectory()
.getAbsolutePath() + mFileName;
FileWriter fw = new FileWriter("ENTER_YOUR_FILENAME", true);
fw.write(mValue + "
");
fw.close();
} catch (IOException ioe) {
}
}
另一答案
要使用按钮单击按钮显示已保存文件的内容,请单击使用:
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
FileInputStream fin = openFileInput(fileTitle);
int c;
String temp = "";
while ((c = fin.read()) != -1) {
temp = temp + Character.toString((char) c);
}
tv.setText(temp);
Toast.makeText(getBaseContext(), "file read", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
}
}
});
要在保留文件名的同时删除现有文件的内容,您可以使用:
deleteOrder.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
FileOutputStream fOut = openFileOutput(fileTitle,MODE_PRIVATE);
// fOut.write(data.getBytes());
dataTitle = "";
fOut.write(data.getBytes());
fOut.close();
}
catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
另一答案
这对我有用。获取名为textTitle的TextEdit的内容。将其写入名为dataTitle的文件。然后用fOut.write(“ n”)写一个新行。输入TextEdit的下一个文本将添加到带有换行符的文件中。
try {
FileOutputStream fOut = openFileOutput(fileTitle,MODE_APPEND);
fOut.write(dataTitle.getBytes());
fOut.write('
');
fOut.close();
Toast.makeText(getBaseContext(),"file saved",Toast.LENGTH_SHORT).show();
}
catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
以上是关于Android保存到file.txt追加的主要内容,如果未能解决你的问题,请参考以下文章
如何将我的整个输出从iPython笔记本保存为.txt文件?