- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经回答了很多这些问题,但似乎仍然无法弄清楚。我有一个文本文件分成几行。每行由 5 条数据组成,用“,”分隔。我正在尝试读取此文件并将信息拆分为以下形式的字符串数组:
String [][] xyz = new String [5][100];
请有人帮我提供一个简单的解决方案!?谢谢!!! :)
数据示例:
John,22,1953,Japan,Green
Anna,18,2012,Mexico,Blue
Sam,34,1976,San Francisco,Pink
示例代码:
公共(public)无效readFile(){
AssetManager manger;
String line = null;
try {
manger = getAssets();
InputStream is = manger.open("data.txt");
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
while ((line = br.readLine()) != null) {
values.add(line.split(","));
//System.out.print(value);
}
br.close();
String[] array = values.toArray(new String[20];
} catch (IOException e1) {
Toast.makeText(getBaseContext(), "Problem!", Toast.LENGTH_SHORT).show();
}
}
错误
07-24 06:26:56.524: E/AndroidRuntime(27203): 致命异常:main07-24 06:26:56.524:E/AndroidRuntime(27203):java.lang.ArrayIndexOutOfBoundsException:长度= 10;索引=1007-24 06:26:56.524:E/AndroidRuntime(27203):在com.testingReadArray.weebly.testingReadArray.MainActivity.readFile(MainActivity.java:182)07-24 06:26:56.524:E/AndroidRuntime(27203):在com.testingReadArray.weebly.testingReadArray.MainActivity $ planOnClickListener.onItemSelected(MainActivity.java:148)07-24 06:26:56.524:E/AndroidRuntime(27203):在android.widget.AdapterView.fireOnSelected(AdapterView.java:895)07-24 06:26:56.524: E/AndroidRuntime(27203): 在 android.widget.AdapterView.access$200(AdapterView.java:50)07-24 06:26:56.524: E/AndroidRuntime(27203): 在 android.widget.AdapterView$SelectionNotifier.run(AdapterView.java:863)07-24 06:26:56.524:E/AndroidRuntime(27203):在android.os.Handler.handleCallback(Handler.java:615)07-24 06:26:56.524:E/AndroidRuntime(27203):在android.os.Handler.dispatchMessage(Handler.java:92)07-24 06:26:56.524:E/AndroidRuntime(27203):在android.os.Looper.loop(Looper.java:137)07-24 06:26:56.524:E/AndroidRuntime(27203):在android.app.ActivityThread.main(ActivityThread.java:4867)07-24 06:26:56.524:E/AndroidRuntime(27203):在java.lang.reflect.Method.invokeNative( native 方法)07-24 06:26:56.524:E/AndroidRuntime(27203):在java.lang.reflect.Method.invoke(Method.java:511)07-24 06:26:56.524: E/AndroidRuntime(27203): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1007)07-24 06:26:56.524:E/AndroidRuntime(27203):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:774)07-24 06:26:56.524:E/AndroidRuntime(27203):在dalvik.system.NativeStart.main( native 方法)
最佳答案
您可以使用 BufferedReader 读取每一行,然后使用 .split(',');
方法分割该行。
一些伪代码:
BufferedReader bfr = new BufferedReader(InputStreamReader/FileReader...);
String line = null;
int index = 0;
String [][] xyz = new String [100][5];
while ( (line = bfr.readLine()) != null) {
if (index < xyz.length) xyz[index] = line.split(",");
index++;
}
希望这有帮助!
关于java - 读取文本文件并将其拆分为数组 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17824936/
我是一名优秀的程序员,十分优秀!