2012-03-14 42 views
0

我寫我想寫一個解析文本文件收集所有的行,並把它變成一個功能的Android應用程序在文件中顯示所有內容的方式單個String對象並顯示文件中的內容。 顯示屏應該與文本文件中存在的所有'換行'字符一起。 我該怎麼做?是否存在,因爲它是用一個字符串對象

還像文件的端部,有一種使用在一個文件中的另一個標識符,這樣我可以在同一文件內具有多個部分的方法嗎?

在此先感謝

回答

0

您可以將您從文本文件在一個單一的字符串,是沒有問題的解析什麼。

您還可以使用不同的字符串文本的每一行,但它會非常消耗資源和不必要的。

簡而言之,是的,你可以使用一個字符串作爲你的問題。

+0

thanks..but我該怎麼做? – Nikhil 2012-03-14 09:40:17

+0

http://www.javapractices.com/topic/TopicAction.do?Id=87檢查這個鏈接的教程是非常好的。 – 2012-03-14 09:43:44

1

下面是一個將文本文件中的數據讀入String對象的示例。在這個例子中,文本文件是資產的一部分。你可以從打開sdcard文件的InputStream也:

public class AssetsTest extends Activity { 
@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
TextView textView = new TextView(this); 
setContentView(textView); 
AssetManager assetManager = getAssets(); 
InputStream inputStream = null; 
try { 
inputStream = assetManager.open("texts/myawesometext.txt"); 
String text = loadTextFile(inputStream); 
textView.setText(text); 
} catch (IOException e) { 
textView.setText("Couldn't load file"); 
} finally { 
if (inputStream != null) 
try { 
inputStream.close(); 
} catch (IOException e) { 
textView.setText("Couldn't close file"); 
} 
} 
} 
public String loadTextFile(InputStream inputStream) throws IOException { 
ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); 
byte[] bytes = new byte[4096]; 
int len = 0; 
while ((len = inputStream.read(bytes)) > 0) 
byteStream.write(bytes, 0, len); 
return new String(byteStream.toByteArray(), "UTF8"); 
} 
相關問題