【发布时间】:2013-01-03 22:54:50
【问题描述】:
我正在尝试使用 substrings 和 bufferedreader 提取两个标签之间的文本,但出现 indexoutofbounds 异常。使用 if 语句是因为我正在解析 5 个网页,并且我想从每个网页中读取文本,下面是我的代码:
public static List<WebPage> readRawTextFile(Context ctx, int resId) {
InputStream inputStream = ctx.getResources().openRawResource(
R.raw.pages);
InputStreamReader inputreader = new InputStreamReader(inputStream);
BufferedReader buffreader = new BufferedReader(inputreader);
String line;
StringBuilder text = new StringBuilder();
String txt1 = text.toString();
try {
int count = 0;
while ((line = buffreader.readLine()) != null) {
if (line.length() == 0) {
int sURL = line.indexOf("<!--");
int eURL = line.indexOf("-->");
String newSub = txt1.substring(txt1.indexOf(sURL) + 1,
txt1.indexOf("\""));
System.out.println(newSub);
}
【问题讨论】:
-
好吧,对于初学者,您可能想要
line.length() != 0而不是line.length() == 0,对吧? -
我想使用 line.length()=0,所以我可以用空格分隔第一页,然后在继续之前从第一页读取文本
-
也许你“想要”,但这不是代码告诉 JVM 要做的事情。
标签: java android bufferedreader substring