我正在编写一个Android应用程序,我想编写一个函数来解析收集所有行的文本文件并将其放入单个String对象并显示文件中的内容。 显示应该与文本文件中存在的所有“新行”字符一起。 我怎样才能做到这一点?
也像文件的结尾,有没有办法在文件中使用另一个标识符,以便我可以在同一个文件中有多个部分?
提前致谢
答案 0 :(得分: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");
}
答案 1 :(得分:0)
您可以将文本文件中解析的内容存储在一个没有问题的字符串中。
您还可以为每行文本使用不同的字符串,但这将耗费大量资源并且不必要。
简而言之,你可以使用一个字符串来解决你的问题。