当我将文本写入文件时,为什么我在打开文件时看不到文本?

时间:2012-03-18 00:56:08

标签: android file-io android-sdcard

我写了一个Android应用程序,只是将文本和日期输出到SD卡上的文件。

public class MyWastedTimeActivity extends Activity {
    /** Called when the activity is first created. */
    @Override

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        EditText ujET=(EditText)findViewById(R.id.input);
        Button gomb=(Button)findViewById(R.id.button1);
        final String ujString=ujET.getText().toString();
        gomb.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {

                try {
                    commitToFile(ujString);
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        });


    }

private void commitToFile(String mit) throws IOException {
    String aktIdo = DateFormat.getDateInstance().format(new Date());
     String kiIr =aktIdo+" "+mit+"\n";

     FileOutputStream fos = null;
     ObjectOutputStream out = null;


      File root = Environment.getExternalStorageDirectory();


       fos = new FileOutputStream(  root + "/" +"idom.txt" ,true);

       out = new ObjectOutputStream( fos );
       out.writeObject( kiIr );
       out.close();   


     }
}

问题是,当我在电脑上打开“idom.txt”文件时,它给了我:Ԁt䴎ㄠⰸ㄰㄰갊琅琅฀愠⁲㠱㈱ਠ㈱ਠ当它真的不是我写的......有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您使用过ObjectOutputStream课程。 writeObject方法用于将对象写入流。请参阅此参考Document。它将以二进制格式写入,而不是人类可读形式。

我建议您使用PrintWriter类。 PrintWriter是基于字符的类之一。 这是一个很好的example