Argargarg。
我试图从用户输入中获取信息,然后将其写入系统文件。我得到了输入,我在上面调用了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();
}
我感谢任何帮助!
答案 0 :(得分:0)
String.getBytes返回字节数组,当你尝试执行toString()时,你实际上是在写它的指向字符串的指针。你已经有String更改此行
Log.w("Debug",newNote.getBytes().toString());
进入
Log.w("Debug",newNote);
并且您将拥有正确的日志输出,并且文件应该已经正确写入。
希望这有助于并享受您的工作
答案 1 :(得分:0)
只是在黑暗中拍摄,但我注意到你在没有指定字符编码的情况下调用getBytes()。除非您的输出文件与系统默认编码的字符编码相同,否则您很容易在输出中获得乱码。