一時的なオーディオファイルを作成し、そのファイルからデータを読み込んでから削除するクラスのプログラムを作成しています。私は、ファイルを削除する以外はすべて動作しています。ファイルを削除しようとすると、file.delete()
はfalse
を返します。私はjava.nio
ファイルを使用して何が間違っていたのかを正確に把握しようとしましたが、そのファイルを開いた別のプロセスが返されました。私のコードを見て、ファイルを開いたままAudioInputStream
に絞った。 AudioInputStream
を作成する直前にファイルを削除することはできますが、ファイルを削除しようとする前にストリームを閉じるにもかかわらず、ファイルを作成した後でファイルを削除することはできません。ファイルからAudioInputStreamを作成した後にファイルを削除できません
if (file != null && file.isFile())
{
try
{
audioInputStream = null;
try
{
audioInputStream = AudioSystem.getAudioInputStream(file);
}
catch (Exception e)
{
System.out.println(e);
}
finally
{
audioInputStream.close();
}
System.out.println("Attempted to delete wav file. Succesfull = " + file.delete());
}
}
私も同様の結果とfinally
でキャッチしていない後audioInputStream.close()
を配置しようとしています。
ファイルを閉じた後に入力ストリームを開いたままにしているのはなぜですか?あなたはBufferedInputStreamをで包まれたならばそれが必要
からクラスそれはなぜ動作するはずです動作しますか? – EJP