首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我的txt在raw文件夹中时,如何逐行阅读?

当我的txt在raw文件夹中时,如何逐行阅读?
EN

Stack Overflow用户
提问于 2012-06-12 02:11:18
回答 2查看 115关注 0票数 0

我的原始文件夹中有一个txt,其中包含以下文本:

代码语言:javascript
复制
38.706937,-0.494406,Alcoy,Alcoy,Comunidad Valenciana
37.605651,-0.991294,Vuelo1,Cartagena,Región de Murcia
37.652022,-0.719147,Vuelo2,La Manga del Mar Menor,Región de Murcia
42.817988,-1.644183,Vuelo3,Pamplona,Navarra
36.750779,-5.812395,Vuelo4,Arcos de la frontera,Andalucia

以及我执行此操作的方法:

代码语言:javascript
复制
private void leerPuntosApp(){
    InputStream stream =getResources().openRawResource(R.raw.sitios);
    BufferedReader brin = new BufferedReader(new InputStreamReader(stream));
    String todoPartes = null;

    try {
        while(brin.read() != -1){
            todoPartes = brin.readLine();
            dibujarPuntos(todoPartes);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

private void dibujarPuntos(String punto){
    Toast.makeText(this, punto, Toast.LENGTH_SHORT).show();
    String []separados = punto.split(",");

        Dialog dialog = hacerDialogo(separados[0],separados[1],
                  separados[2],separados[3],separados[4]);

        itemOverlay = new CargarItem(puntosMapa,this,dialog);

        lat = Double.parseDouble(separados[0])*1E6;
        lon = Double.parseDouble(separados[1])*1E6;

        GeoPoint point = new GeoPoint(lat.intValue(),lon.intValue());
        //GeoPoint point = calcularCoordenadas(listaDeSitios.get(i).getCiudad());

        item = new OverlayItem(point,separados[2], null);
        itemOverlay.addOverlay(item);
        mapOverlays.add(itemOverlay);
        mapView.postInvalidate();

}

奇怪的是,方法dibujarPuntos只绘制了第一个点,但toast向我显示了所有的线条。

谢谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2012-06-12 02:26:01

通过执行read(),您正在吃掉该行的第一个字符...您确定Toast显示的是正确的数据吗?

看看这是否有帮助

代码语言:javascript
复制
try {
    while((todoPartes = brin.readLine()) != null){
        dibujarPuntos(todoPartes);
    }
} catch (IOException e) {
    e.printStackTrace();
}

不使用Toast来记录日志,只需使用Log.d("MYTAG", punto),然后检查LogCat输出,看看它是否正确地解析了信息。

票数 0
EN

Stack Overflow用户

发布于 2012-06-12 02:40:50

这是真的,read()在除第一行之外的所有行中吃下我的第一个字符。但如果我这样做了,你会说我在这行有一个NumberFormatException

代码语言:javascript
复制
lat = Double.parseDouble(separados[0])*1E6;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10985340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档