Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中删除声音文件?_Java_File - Fatal编程技术网

如何在java中删除声音文件?

如何在java中删除声音文件?,java,file,Java,File,我有一个声音文件记录在我的Java代码中,我需要一些代码来删除它。声音文件有什么特别之处 您可以使用此代码 public static void deleteFile(String file){ File myFile = new File(file); if (!myFile.delete()){ System.out.println("Deletion was not sucessful"); }else{ System.out.println

我有一个声音文件记录在我的Java代码中,我需要一些代码来删除它。

声音文件有什么特别之处

您可以使用此代码

public static void deleteFile(String file){
    File myFile = new File(file);

    if (!myFile.delete()){
     System.out.println("Deletion was not sucessful");
    }else{
      System.out.println("File deleted");
    }
  }
由于答案非常明显(
file.delete()
),我怀疑您在删除它时确实遇到了问题。也就是说,
file.delete()
返回了
false
,并且该文件实际上没有从磁盘文件系统中删除

在这种情况下,当文件上仍有指针打开时,无法删除该文件。例如,当Java代码中的文件上有一个
InputStream
OutputStream
时,只要不调用流上的
close()
,就无法删除该文件

因此,要解决这个问题,您需要确保在使用流的
try
块的
finally
块中的任何
InputStream
OutputStream
上调用
close()

例如


看看java io api?声音文件有什么特别之处?你看过java文档中的
java.io.File
了吗?你能展示一下记录和保存声音的代码吗?如果不知道你在做什么或看到你的代码,完全不可能回答。我已经在网上找到了所有这些代码!我正在使用jarnal,并添加了允许在工具栏中使用播放、录制和停止按钮的代码。在我录制一个声音后,它会创建一个声音文件,我希望稍后在代码中删除该文件,否则在我继续录制时会创建多个声音文件。有什么想法吗?
File file = new File(name);
OutputStream output = null;

try {
    output = new FileOutputStream(file);
    // Write to output here ...

    file.delete(); // Will always fail because output is not closed.
} finally {
    if (output != null) try { output.close(); } catch (IOException logOrIgnore) {}
}

file.delete(); // Will succeed after close of output.