2012-03-02 190 views
3

我有3个编辑文本,一个保存按钮和一个读取按钮。如何在读取数据时用逗号分隔逗号android

已将单个.txt文件保存在SD卡中。

如何保存这些类型:这是srinu欢迎的android,7304231213,8756435453

我想要什么:单击以逗号分隔的读取按钮会读3 DIFF编辑文本。 这是一个编辑文本(这是srinu欢迎来到android)和另一个编辑文本(7304231213)和另一个编辑文本(8756435453)。这三个编辑文本内将显示数据。

如何在android中读取时用逗号分隔。

回答

3
String[] stringArray = string.split(","); 

这将通过逗号分隔字符串到一个字符串数组;

然后将该字符串分配给相应的EditText。

+0

我想这个代码不工作 – Satya 2012-03-02 09:20:41

+0

你试过了吗?你有什么? – Hanon 2012-03-02 09:22:17

+0

我有这个代码文件myFile = new File(“/ sdcard/mysdfile.txt”); \t \t \t FileInputStream fIn = new FileInputStream(myFile); \t \t \t的BufferedReader myReader =新的BufferedReader( \t \t \t \t \t新的InputStreamReader(FIN)); \t \t \t String aDataRow =“”; \t \t \t String aBuffer =“”; \t \t \t while((aDataRow = myReader.readLine())!= null){ \t \t \t \t aBuffer + = aDataRow +“\ n”; \t \t \t} \t \t \t \t \t \t smsedit.setText(aBuffer); \t \t \t \t myReader.close();我想这个代码不工作。我有这个代码 – Satya 2012-03-02 09:32:45

1

假设您有三个编辑文本 - 一个,两个和三个。 使用下面的代码来生成所需的格式

String result = one.getText().toString()+", "+two.getText().toString()+", "+three.getText().toString(); 
+0

我有这个代码。文件myFile = new File(“/ sdcard/mysdfile.txt”); \t \t \t FileInputStream fIn = new FileInputStream(myFile); \t \t \t的BufferedReader myReader =新的BufferedReader( \t \t \t \t \t新的InputStreamReader(FIN)); \t \t \t String aDataRow =“”; \t \t \t String aBuffer =“”; \t \t \t而((aDataRow = myReader.readLine())!= NULL){ \t \t \t \t aBuffer + = aDataRow + “\ n” 个; \t \t \t} \t \t \t \t \t \t smsedit.setText(aBuffer); \t \t \t myReader.close(); – Satya 2012-03-02 09:34:38

+0

这是获取手段保存代码。我想读取代码 – Satya 2012-03-02 09:57:23

+0

您正在使用此代码读取文件的内容。您应该在保存文件中的文本的同时添加','(逗号)。 – includeMe 2012-03-02 10:17:37

1

假设你有3编辑文本ET1,ET2,ET3,你有,你从.txt file.Format获得该字符串作为

String[] ans=your_string.split(","); 
et1.setText(ans[0]); 
et2.setText(ans[1]); 
et3.setText(ans[2]); 
字符串output_string

确保您的文本没有除分隔符“,”之外的逗号。

+0

我有这个代码File myFile = new File(“/ sdcard/mysdfile.txt”); \t \t \t FileInputStream fIn = new FileInputStream(myFile); \t \t \t的BufferedReader myReader =新的BufferedReader( \t \t \t \t \t新的InputStreamReader(FIN)); \t \t \t String aDataRow =“”; \t \t \t String aBuffer =“”; \t \t \t而((aDataRow = myReader.readLine())!= NULL){ \t \t \t \t aBuffer + = aDataRow + “\ n” 个; \t \t \t} \t \t \t \t \t \t smsedit.setText(aBuffer); \t \t \t myReader.close(); – Satya 2012-03-02 09:34:14

+0

在上面的代码中添加'String [] ans = aBuffer.split(“,”);' 'et1.setText(ans [0]);' 'et2.setText(ans [1]);' 'et3 .setText(ans [2]);' – 2012-03-02 10:10:31

+0

以上代码从文件读取数据正在工作。只需检查您添加**权限**读取和写入文件** SDCARD **并在阅读时确保文件是存在的。 – 2012-03-02 10:19:29

2

你只需要在保存到文件中的字符串之后附加逗号。从你的价值观会被逗号分隔的文件读取时

OutputStreamWriter out = new OutputStreamWriter(openFileOutput(FILE_NAME, MODE_APPEND)); 
     out.write(StoryId + ",");  

     out.flush(); 
     out.close();  

所以:
做这样的。

while ((str = reader.readLine()) != null) 
{ 
    buf.append(str); 
} 
+0

+1简单的解决方案 – Lucifer 2012-11-06 12:15:37