0
訪問したそれぞれを保存するために、URL
を.txt
ファイルに保存しようとしています。しかし、それはうまく動作しますが、新しいすべてのURL
は新しいものを置き換えます。テキストファイルに文字列を追加するには?
1) URLを追加するにはどうすればよいですか?
2)各URLの間に1行のスペースを追加するにはどうすればよいですか?
MainActivity.java
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
// don't hide URLBar on welcome screen
// save to history.txt
HistoryHelper file = new HistoryHelper(view.getContext());
file.writeToSD(url.toString());
}
HistoryHelper.java
public class HistoryHelper {
String TAG = "MyFile";
Context context;
public HistoryHelper(Context context) {
this.context = context;
}
public Boolean writeToSD(String text) {
Boolean write_successful = false;
File root = null;
try {
// check for SDcard
root = Environment.getExternalStorageDirectory();
Log.i(TAG, "path.." + root.getAbsolutePath());
// check sdcard permission
if (root.canWrite()) {
File fileDir = new File(
Environment.getExternalStorageDirectory() + "/AVD/");
fileDir.mkdirs();
File file = new File(fileDir, "History.txt");
FileWriter filewriter = new FileWriter(file);
BufferedWriter out = new BufferedWriter(filewriter);
out.write(text);
out.close();
write_successful = true;
Toast.makeText(context, "success!", Toast.LENGTH_LONG).show();
}
} catch (IOException e) {
Log.e("ERROR:---",
"Could not write file to SDCard" + e.getMessage());
write_successful = false;
Toast.makeText(context, "operation failed!", Toast.LENGTH_LONG)
.show();
}
return write_successful;
}
}
「ディスクI/Oオーバーヘッド」とは何ですか? – Cassie
アクセスされたすべてのURLに対して、historyHelperの新しいオブジェクトを作成し、毎回ファイルを開くので、1つのオブジェクトを使用してその参照のみを使用してください –
どこにこのコードを追加しますか? – Cassie