versiones trabajar mac desinstalar descargar con como anteriores java recycle-bin

trabajar - ¿Es posible eliminar Java en la Papelera de reciclaje?



java 8 (7)

Como sugiere John Topley, debes hacer esto con una operación nativa. En caso de que no quiera ensuciarse las manos con algunos JNI, podría usar una biblioteca llamada Java Native Access para hacer las llamadas nativas.

Java es la clave aquí. Necesito poder eliminar archivos, pero los usuarios esperan poder "recuperar" de la papelera de reciclaje. Por lo que puedo decir, esto no es posible. Alguien sabe lo contrario?



Consulte el proyecto fileutil incubator (parte del proyecto Componentes de integración de Java Desktop ):

Este proyecto de incubadora está creado para alojar esas funcionalidades de utilidad de archivos, la mayoría de las cuales son extensiones de la clase java.io.File en J2SE. Hay solicitudes frecuentes de desarrolladores de Java para características tales como: enviar un archivo al contenedor de basura , verificar el espacio libre en el disco, acceder a los atributos del archivo, etc. Este proyecto se ocupa de las API solicitadas con frecuencia.

Tenga en cuenta que esto debería funcionar no solo en Windows, sino también en otras plataformas (Linux, Mac OS X).




Mis 3 centavos: use cmd use Recycle.exe con -f para forzar el reciclaje (sin avisos). Funciona perfectamente.

public class Trash { public void moveToTrash(File ... file) throws IOException { moveToTrash(false, file); } public void promptMoveToTrash(File ... file) throws IOException { moveToTrash(true, file); } private void moveToTrash(boolean withPrompt, File ... file) throws IOException { String fileList = Stream.of(file).map(File::getAbsolutePath).reduce((f1, f2)->f1+" "+f2).orElse(""); Runtime.getRuntime().exec("Recycle.exe "+(withPrompt ? "" : "-f ")+fileList); } }


Diez años más tarde, con Java 9, finalmente hay una forma integrada de mover archivos a la Papelera

java.awt.Desktop.moveToTrash(java.io.File) :

public boolean moveToTrash​(File file)

Mueve el archivo especificado a la papelera.

Parámetros:

archivo - el archivo

Devoluciones:

devuelve verdadero si movió con éxito el archivo a la papelera.

La disponibilidad de esta característica para la plataforma subyacente se puede probar con Desktop.isSupported​(Desktop.Action.MOVE_TO_TRASH) .