gpt4 book ai didi

java - 通过终止程序关闭流 - 常见做法?

转载 作者:行者123 更新时间:2023-11-29 04:59:09 24 4
gpt4 key购买 nike

我有一个实现Runnable 的音频播放器。它开始发出声音,然后终止。这是一种常见的做法,还是我应该自己关闭它,就像目前没有使用的最后一种方法一样。在我看来,让它自动终止并强制关闭其余部分是个好主意。

public class AudioPlayer implements Runnable {

AudioInputStream audioIn;
Clip clip;

public AudioPlayer (String res) {

try {
URL url = this.getClass().getResource(res);
audioIn = AudioSystem.getAudioInputStream(url);
clip = AudioSystem.getClip();
clip.open(audioIn);
} catch (Exception e) {
e.printStackTrace();
}
}

@Override
public void run() {
clip.start();
}

public void close() throws IOException {
try {
clip.close();
audioIn.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

最佳答案

要么在 run() 方法中打开流并在 finally 子句中关闭它们,要么实现 AutoCloseable 以便您的类可以用作资源。

关于java - 通过终止程序关闭流 - 常见做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32647016/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com