必须运行两次应用才能识别更改

时间:2016-08-25 12:39:41

标签: android io java.util.scanner

我有一个应用程序可以从设备内部存储器中获取文本文件,并将其放入文件的文件内容读入arraylist,以便与其他一些数据进行比较。

文本文件中的一些示例数据是:

1.10
1.11
1.12

我的应用程序显示数组列表的最后一个元素,因此在此示例中它将是' 1.12'显示出来。

我遇到的问题是如果我改变了1.12'到' 1.13',它只在我第二次运行应用程序时更新为新值。

我无法弄清楚为什么会这样。我已经测试过以确保文件确实使用adb进行更新,并且所有更新都会更新,但看起来好像应用程序仍在读取旧版本文件的内容而不是第一次运行时新的覆盖文件。我的代码如下所示,用于读取文件内容。

    public void readVersionList(){
    download = (TextView) findViewById(R.id.download_version_path);
    try {
        Scanner scan = new Scanner(new File("/sdcard/version-nums.txt"));
        ArrayList<String> list = new ArrayList<String>();
        while (scan.hasNext()){
            list.add(s.next());
        }
        scan.close();
        updateVersionNum = list.get(list.size()-1);
        download.setText(updateVersionNum);
        Log.i("VERSIONNUM", updateVersionNum);

    }catch (FileNotFoundException e){
        e.printStackTrace();
    }
    catch (IOException e){
        e.printStackTrace();
    }
}

0 个答案:

没有答案