임시 오디오 파일을 만들고 해당 파일에서 데이터를 읽은 다음 삭제하는 클래스의 프로그램을 작성하고 있습니다. 파일을 삭제하는 것 외에는 모든 것이 작동합니다. 파일을 삭제하려고 시도하면 file.delete()
은 false
을 반환합니다. 나는 정확히 무엇이 잘못되었는지를 알아 내고 java.nio
Files를 사용하려고 시도했고, 다른 프로세스가 파일을 열었다는 것을 반환했다. 내 코드를 살펴본 후 파일을 열린 채로 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
A의 audioInputStream.close()
을 배치 노력했다.
파일을 닫은 후 입력 스트림을 열어 두는 이유는 무엇입니까? 당신이 BufferedInputStream을 래핑 경우가해야
에서 클래스 그것은 왜 작동해야입니다 작동? – EJP