1

阿加格。

我试图从用户输入中获取信息,然后将其写入系统文件。我得到了输入,并在上面调用了 getBytes。之后它会按照“null”和随机数的方式将某些内容记录到文件中。我试着把它变成一个字符串,没有运气,它是一个随机的符号链这是具体的代码:

        TextView note_input=(TextView) findViewById(R.id.note_input);
    FileOutputStream fos=null;
    String newNote=note_input.getText().toString();
    Log.w("Debug",newNote);
    try {
        fos=openFileOutput("currentNote",Context.MODE_APPEND);
    } catch (FileNotFoundException e) {
        //IT_SHOUD_NOT_EXIST
    }
    try {
        Log.w("Debug",newNote.getBytes().toString());
        fos.write(newNote.getBytes());
        fos.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

我很感激任何帮助!

4

2 回答 2

0

String.getBytes 返回字节数组,当您尝试执行 toString() 时,您实际上是在写它是指向字符串的指针。您已经有 String 更改此行

Log.w("Debug",newNote.getBytes().toString());

进入

Log.w("Debug",newNote);

并且您将获得正确的日志输出,并且文件应该已经正确写入。

希望这对您有所帮助并享受您的工作

于 2013-05-20T20:32:33.273 回答
0

只是在黑暗中拍摄,但我注意到您在调用 getBytes() 时没有指定字符编码。除非您的输出文件的字符编码与系统默认编码相同,否则您很容易在输出中出现乱码。

于 2013-05-20T20:48:00.603 回答