0

我正在创建一个应用程序,要求用户输入一些关于他们自己的信息。信息必须有几段长,为此,他们必须使用手机键盘上的输入按钮来创建新行。这可行,但是当用户回来编辑他们的信息时,它已经忘记了所有新的行。例如

如果他们写

> line one
> 
> 
> 
> line five

然后当他们再次打开应用程序时,它会显示

line oneline five

第五行的文字直接附加到第一行的文字上。

我该怎么做才能让它记住新行?这是我从文本框写入文件,然后再次从文件读取到文本框的代码:

public void save() {

        String FILENAME = "item_1_content.txt";
        String string = name.getText().toString();


        FileOutputStream fos = null;
        try {
            fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        try {
            fos.write(string.getBytes());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        try {
            fos.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }



        public String readSavedData ( ) {
            String datax = "" ;
            try {
                FileInputStream fIn = openFileInput ( "item_1_content.txt" ) ;
                InputStreamReader isr = new InputStreamReader ( fIn ) ;
                BufferedReader buffreader = new BufferedReader ( isr ) ;

                String readString = buffreader.readLine ( ) ;
                while ( readString != null ) {
                    datax = datax + readString ;
                    readString = buffreader.readLine ( ) ;
                }

                isr.close ( ) ;
            } catch ( IOException ioe ) {
                ioe.printStackTrace ( ) ;
            }
            name.setText(String.valueOf(datax));
            return datax ;

        } 
4

1 回答 1

1

用这个:

String readString = buffreader.readLine();
while( readString != null ) {
    datax = datax + readString + "\n";
    readString = buffreader.readLine();
}

您需要附加换行符。它由 编码"\n"

于 2013-01-26T19:02:19.767 回答