createNewFile()后忽略的方法

时间:2017-04-27 13:00:57

标签: java android file io

我已经从this question复制了该方法并修改了一下,以便在我的项目中使用。我注意到,当我调用方法createNewFile()时,应用程序忽略了我的方法的其余部分。我该如何解决这个问题?

  public void exportDatabase(){
    try{
        File dbFile=getDatabasePath("Glukozko.db");
        File exportDir = new File(Environment.getExternalStorageDirectory(), "");
        if (!exportDir.exists()){
            exportDir.mkdirs();
        }
        File file = new File(exportDir, "meritve.csv");
        file.createNewFile();  //from this point on, the method is ignored
        PrintWriter csvWrite = new PrintWriter(new FileWriter(file));
        Cursor meritve=db.vrniMeritve();
        if(meritve.getCount()==0){
            Toast.makeText(MainActivity.this,"No data availible",Toast.LENGTH_SHORT).show();
        }else{
            while (meritve.moveToNext()){
                String vrstica=meritve.getString(1)+";"+meritve.getString(2)+";"+meritve.getString(3)+";"+meritve.getString(4)+";"+meritve.getString(5)+";"+meritve.getString(6);
                System.out.println(vrstica);
            }
        }
    }catch (Exception e){

    }
}

我找到了解决方案。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

我不得不把它放在manifestset文件中!

1 个答案:

答案 0 :(得分:2)

file.createNewFile();  //from this point on, the method is ignored

它抛出异常!

然后你继续压缩异常......抓住它并在catch块中什么都不做。

如果您打印异常的堆栈跟踪而不是压缩它,您可能会看到导致异常的重要线索。一旦你知道是什么导致它,你就可以弄清楚如何解决它。

  

此外,文件未创建

烨。方法调用失败。