如何在java中删除声音文件?
我有一个声音文件记录在我的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
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.