简单的Android文件输出问题

Joe*_*973 3 android newline file

我有点坚持一些必须简单易懂的东西.我正在尝试将一些变量写入一个文件,每个变量都在它自己的行上,这样我就可以在另一个方法中使用readLine来重新读取变量.

这是代码:

package com.example.files2;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.Environment;
import android.widget.Toast;

public class files2 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    String string1 = "Hey you";
    String string2 = "Is there anybody there";
    String string3 = "Can you hear me";

    setContentView(R.layout.main);

    try{

    File file = new File(Environment.getExternalStorageDirectory(), "file.txt");


    BufferedWriter writer = new BufferedWriter(new FileWriter(file));
    writer.write(string1);
    writer.newLine();
    writer.write(string2);
    writer.newLine();
    writer.write(string3);
    writer.newLine();
    writer.flush();
    writer.close();

} catch (IOException e) {
    e.printStackTrace();
}

}}
Run Code Online (Sandbox Code Playgroud)

该文件写得好,但是不是每个变量都在它自己的行上,我只得到一行,上面写着"你好,那里有人,你能听到我吗".

所以我猜.newLine()不起作用,但为什么呢?

这个问题是否有一个简单的答案或更好的方法来实现它?

谢谢大家,评论热烈赞赏.

syn*_*nic 7

你确定它不起作用?你在使用Windows吗?我认为Android是一种基于UNIX的操作系统,\n而不是\r\n像Windows预期的那样.如果你输入adb shell那么你看到了什么cat /sdcard/file.txt