0

在我的第一个Activity中,我保存坐标,FileOutputStream然后在另一个中Activity读取数据。但它总是在我的协调中添加“null”。难道我做错了什么?

活动 1,我将数据写入 FileOutPutStream

FileOutputStream fos;
    try {
        String lat, lng;
        lat = String.valueOf(location_latitude);
        lng = String.valueOf(location_longitude);

        fos = openFileOutput("my_latitude", Context.MODE_PRIVATE);
        fos.write(lat.getBytes());
        fos.close();

        fos = openFileOutput("my_longitude", Context.MODE_PRIVATE);
        fos.write(lng.getBytes());
        fos.close();
        Log.e("SPLASHER",lat);
    } catch (Exception e) {
        e.printStackTrace();
     }

读取数据的活动 2

private void getLocations() {
        String[] locations = getApplicationContext().fileList();
        for (int i = 0; i < locations.length; i++) {

            FileInputStream fis;

            try {
                fis = openFileInput(locations[i]);
                byte[] input = new byte[fis.available()];

                if (locations[0].equals("my_latitude")) {

                while (fis.read(input) != -1) {
                    myLat += new String(input);
                    // int start = myLat.indexOf("null");
                    // String suffix = myLat.substring(start);
                    myLat.replaceAll(".*?null", "");
                    Log.e("READING", myLat);
                    }
                }
                fis.close();

            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            // Log.e("LOCATTTIEEEE", locations[i]);

        }
    }

日志

06-07 01:28:10.565: E/SPLASHER(9769): 51.1878003
06-07 01:25:41.660: E/YESSIR(6359): null51.1878167

所以我认为写作还可以,但是阅读部分出了什么问题?

4

1 回答 1

1

我发现了错误..

我不得不String lat, lng;像这样初始化String lat="", lng="";

这解决了我的问题!!

于 2013-06-09T23:14:17.610 回答