File.createNewFile被忽略

时间:2016-02-07 06:59:05

标签: android file android-studio

我目前遇到此问题" File.creteNewFile()忽略"。 好的,当拍摄照片时,图片将在图像切换器中查看,因此当我拍摄照片并保存时,在拍摄另一张照片后它没有出现在图像切换器中,然后上一张照片将出现在图像切换器。 例如,当我拍摄詹姆斯的照片并将其保存时,它并没有出现在图像切换器中,当我拍摄西蒙的照片时,詹姆斯的照片出现在图像切换器中,但西蒙没有,而且拍下下一张照片然后Simon图片将出现在图像切换器中。

public void Save() {
    try {
        File f = new File(mPath + "faces.txt");
        f.createNewFile();   <-- this is where the method is ignored
        BufferedWriter bw = new BufferedWriter(new FileWriter(f));
        Iterator<label> Ilabel = thelist.iterator();
        while (Ilabel.hasNext()) {
            label l = Ilabel.next();
            bw.write(l.thelabel + "," + l.num);
            bw.newLine();
        }
        bw.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        Log.e("error", e.getMessage() + " " + e.getCause());
        e.printStackTrace();
    }
}

我是Android新手,但我希望你们能帮助我:D

干杯, 提前致谢:D

3 个答案:

答案 0 :(得分:3)

检查createNewFile说“忽略File.createNewFile()的结果”因为布尔结果没有分配给任何变量,所以忽略它

如果你这样做

boolean sucess = file.createNewFile()消息消失:)

奖金,来自docs:

  

如果指定的文件不存在且成功,则返回true   created,如果指定的文件已存在则为false

答案 1 :(得分:0)

不要使用createNewFile()方法 使用此方法创建文件:

public void Save(){
            try
            {
                File root = new File(mPath);
                if (!root.exists()) {
                    root.mkdirs();
                }
                File gpxfile = new File(root, "faces.txt");
                FileWriter writer = new FileWriter(gpxfile);
                writer.append(sBody);
                writer.flush();
                writer.close();
                Toast.makeText(this, "Saved", Toast.LENGTH_SHORT).show();
            }
            catch(IOException e)
            {
                e.printStackTrace();
                importError = e.getMessage();
                iError();
            }
        }

答案 2 :(得分:-1)

你在.txt中结束了文件的路径,但它不是图像吗?我不知道这是否会导致你的问题,但它应该可以修复。