java - 如何使用 Java FileChooser 创建临时文件?

标签 java javafx nio

我得到了以下创建文件的方法:

public static File cuadroDialogoGuardarTorrent (String pelicula) {

    ventanaGuardar.setInitialFileName(pelicula+".torrent");
    ventanaGuardar.setInitialDirectory(new File(System.getProperty("user.home")+File.separator+"Downloads"));
    ventanaGuardar.getExtensionFilters().addAll(
        new FileChooser.ExtensionFilter("Archivo torrent de descarga", "*.torrent")
    ); 

    File archivo = ventanaGuardar.showSaveDialog(null);

    if (archivo == null) return null;


    return archivo;
}

ventanaGuardar 是一个 JavaFX FileChooser

返回引用File后,我下载一些二进制文件并使用此NIO方法将其写入文件:

URL website = new URL(url);
ReadableByteChannel rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream(torrent);
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);

这就是文件实际创建的时间,我怎样才能使该文件临时关闭时删除

最佳答案

鉴于您的文件存档和规定的要求,我将使用deleteOnExit() 。也就是说,

archivo.deleteOnExit();

关于java - 如何使用 Java FileChooser 创建临时文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23771956/

相关文章:

java - apr_socket_recv : An established connection was aborted by the software in your host machine

java - SOAP 与 REST 中消费者/生产者之间的合约通信?

Linux 机器上的 Java SQLite 连接

java - 如何使用 bouncycaSTLe 从 pkcs7 文件获取证书?

javafx - 为什么不能设置AnchorPane的可调整大小属性?

java - 使用java就地修改文件内容

java - java中如何测量两次按钮点击之间的时间

java - 如何使用 IntegerProperty 在 JavaFX 中编辑单元格?

java - 将 DatePicker 中的数据添加到 DB Javafx 中

java - 从 IO 迁移到 NIO - 网络、IllegalBlockingModeException