问题描述
我有这个代码来读取 .kml(kml 就像 txt),然后在 Strings: 和 . 之间获取字符串。
private void readCoordinatesFromKml() throws IOException {
dangerousArea.clear();
InputStream inputStream = getResources().openRawResource(R.raw.monitoring);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
int i;
try {
i = inputStream.read();
while (i != -1)
{
byteArrayOutputStream.write(i);
i = inputStream.read();
}
inputStream.close();
} catch (IOException e) {
e.printstacktrace();
}
Pattern pattern = Pattern.compile("<coordinates>(.*?)</coordinates>",Pattern.DOTALL);
Matcher matcher = pattern.matcher(byteArrayOutputStream.toString());
while (matcher.find()) {
String[] str = matcher.group(1).split(",");
double Longitude = Double.parseDouble(str[0]);
double Latitude = Double.parseDouble(str[1]);
dangerousArea.add(new LatLng(Latitude,Longitude));
}
}
代码说明:inputstream为R.raw中名为“monitoring”(monitoring.kml)的kml文件
然后我用我在网上找到的一个代码读取了一个txt文件并将其保存为String。
while (matcher.find()) 只是说明当找到其他字符串之间的字符串时要做什么。 我将字符串拆分为两个字符串,然后将字符串解析为双精度,然后将它们添加到列表“dangerousArea”中。
“dangerousArea”是一个 LatLng 对象列表。
现在的问题是(我控制了它)列表“dangerousArea”中没有保存任何内容。所以在读取文件时一定有问题。你看到问题了吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)