1

重複の可能性:
テキストファイルからのアンドロイド読み取り

だから私はテキストをロードする必要がありますが、方法がわかりません:(テキストを保存するには、これを行っています

File logFile = new File("sdcard/data/agenda.file");
if (!logFile.exists())
{
    try
    {
        logFile.createNewFile();
    } 
    catch (IOException e)
    {

        e.printStackTrace();
    }
}
try
{
    //BufferedWriter for performance, true to set append to file flag
    BufferedWriter buf = new BufferedWriter(new FileWriter(logFile, true)); 
    buf.append(editText1.getText());
    buf.newLine();
    buf.close();
}
catch (IOException e)
{
    e.printStackTrace();
}

では、ボタンタップでロードバックする方法は?

4

3 に答える 3

2

*.txt などのファイルの内容を読み取るには、次のようにします...

private String GetPhoneAddress() {
    File file = new File(Environment.getExternalStorageDirectory() + "/reklama/tck.txt");
    if (!file.exists()){
        String line = "Need to add smth";
        return line;
    }
    String line = null;
    //Read text from file
    //StringBuilder text = new StringBuilder();
    try {
        BufferedReader br = new BufferedReader(new FileReader(file));
        line = br.readLine(); 
        }
    catch (IOException e) {
        //You'll need to add proper error handling here
    }
    return line;
}

次に、Activiteからtextviewに設定します-次のようにします

final TextView tvphone = (TextView) findViewById(R.id.saved_phone);
    String saved_phone = GetPhoneAddress();
    if (saved_phone.length()>0){
       tvphone.setText(saved_phone);
    }
于 2012-09-30T19:59:07.017 に答える
1

この関数は、ファイル全体を読み取り、TextView必要に応じてテキストとしてパラメーターに設定します。TextViewsコードはコンテンツをファイルに書き込もうとしていますが、読み取っていません。

public void loadToTextView(TextView textView) throws Exception
{
    String path = Environment.getExternalStorageDirectory().getAbsolutePath();
    File file = new File(path, "filename.file");
    textView.setText(new Scanner(file).useDelimiter("\\Z").next());
}

Exceptionこの関数がスローする可能性のある を処理する必要があることに注意してください。

于 2012-09-30T19:32:21.237 に答える
1

このメソッドは、各行を に読み込みますStringBuffer

次にsetText(contentsOfFile)、あなたのTextView.

BufferedReader fileReader = new BufferedReader(new FileReader("/mnt/sdcard/agenda.file"));

StringBuilder strBuilder = new StringBuilder();

String line;
while((line = fileReader.readLine()) != null)
{
    strBuilder.append(line);
}

fileReader.close();

strBuilder.trimToSize();

String contentsOfFile = strBuilder.toString();
于 2012-09-30T19:42:14.210 に答える