读取.txt中字符串之间的字符串(android)

lrpiutwd  于 2021-06-27  发布在  Java
关注(0)|答案(0)|浏览(217)

我有这个代码来读取一个.kml(kml类似于txt),然后得到字符串之间的字符串:和。

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中的kml文件,名为“monitoring”(monitoring.kml)
然后我用我在网上找到的一个代码来读取一个txt文件并将其保存为字符串。
pattern和matcher用于获取其他字符串之间的字符串。
while(matcher.find())只说明在其他字符串之间找到一个字符串时该怎么办。我将字符串拆分为两个字符串,然后将字符串解析为双精度字符串,然后将它们添加到“危险区域”列表中。
“危险区域”是一个物体列表。
现在的问题是(我控制了它)在“危险区域”列表中没有保存任何内容。所以在读取文件的过程中肯定出了问题。你看到问题了吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题