2012-03-02 200 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