テキストファイルから文字列を削除します。私はこれを行うために一時ファイルが必要であることを知りました。私はlist.txtファイルから読み込み、その中の文字列を削除したいと思います。私が検索したいファイルは既に作成されています。私はこれに関する他の投稿を見て、それを自分の個人プロジェクトに変更しようとしています。現在、私は持っている:私はこのようなランダムな文字列をLIST.TXTいるテキストファイルから文字列を削除するAndroid - ファイルIO
package com.nullwall.listmanager;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
public class IPR3Activity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
DoWork("TestString");
}
public void DoWork(String deleteFromFile)
{
try{
String delete = deleteFromFile;
String line;
//locates a new file named list.txt
File root = new File(Environment.getExternalStorageDirectory(),"projects");
File file = new File(root, "list.txt");
//creates buffers
BufferedReader bufferedReader = new BufferedReader(new FileReader(file.getAbsolutePath()));
StringBuffer stringBuffer = new StringBuffer();
//Loads list.txt into bufferedReader, deletes line and moves on
while ((line = bufferedReader.readLine()) != null)
{
if (line.equals(deleteFromFile))
{
line.replace(deleteFromFile, "");
stringBuffer.append("\n");
}
else
{
stringBuffer.append(line);
stringBuffer.append("\n");
}
}
//Entire file has now been loaded into memory
//creates new Filewriter, append to false, rewrites list.txt with stringBuffer minus string
FileWriter writer = new FileWriter(file, false);
writer.write(stringBuffer.toString());
System.out.println("file written");
//closes writer
writer.flush();
writer.close();
}
catch (FileNotFoundException ex) {
ex.printStackTrace();
}
catch (IOException ex) {
ex.printStackTrace();
}
}
}
:実行した後
notstring
notstring
notstring
teststring
notstring
notstring
、何も起こりません。私はこのようなファイルIOをするのはかなり新しいですので、私が見逃したかもしれない簡単なことを見落とさないようにしてください。ありがとうございました!
あなたの提案と私の投稿を編集...まだ何も編集されていません。コードを正しく書いていますか?私は思考プロセスでコメントを追加しました。 – PeterL