Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
简单的Android文件输出问题_Android_File_Newline - Fatal编程技术网

简单的Android文件输出问题

简单的Android文件输出问题,android,file,newline,Android,File,Newline,我被一些简单得让人吃惊的事情缠住了。我正在尝试将几个变量写入一个文件,每个变量都在它自己的行上,这样我就可以在另一个方法中使用readLine来读取变量 代码如下: package com.example.files2; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWr

我被一些简单得让人吃惊的事情缠住了。我正在尝试将几个变量写入一个文件,每个变量都在它自己的行上,这样我就可以在另一个方法中使用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();
}

}}
文件写得很好,但不是每个变量都在它自己的行上,我只得到一行,上面写着“嘿,你有人在吗?你能听到我说话吗?”

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

这个问题有一个简单的答案,还是一个更好的解决方法

谢谢大家,欢迎评论


你确定它不起作用吗?你在用Windows吗?我想象Android作为一个基于UNIX的操作系统正在编写
\n
,而不是像Windows所期望的那样编写
\r\n
。如果您键入
adb shell
,然后键入
cat/sdcard/file.txt
,您会看到什么?

如果这实际上只是旧的UNIX/DOS换行符差异的一种表现(即文件在基于Linux的Android设备上正确写入,但在Windows PC上没有正确呈现(比如在记事本中))然后,一个答案是使用Vim(请参阅)或另一个应用程序在PC上查看文件,该应用程序可以自动确定文件内容中的换行符(并在需要时保存为本机Windows/DOS格式)

另一种选择是直接在Android设备上查看文件内容,使用市场上免费提供的“文本编辑”等文本编辑器


希望这能有所帮助-如果我说的是显而易见的话,请道歉。

啊!还有一些新的东西!你们是救生员!非常感谢你!