我正在创建一个应用程序,要求用户输入一些关于自己的信息。信息必须是几段长,为此,他们必须使用手机键盘上的输入按钮创建新行。这有效,但当用户回来编辑他们的信息时,它已经忘记了所有新的行。例如
如果他们写了
> 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 ;
}
答案 0 :(得分:1)
使用此:
String readString = buffreader.readLine();
while( readString != null ) {
datax = datax + readString + "\n";
readString = buffreader.readLine();
}
您需要附加换行符。它由"\n"
编码。