xMCluke ha scritto:
Salve a tutti, vorrei realizzare un progetto in Java dove il programma cancella in modo automatico il desktop (file inutili, blocco note), e magari inserendo un intervallo di tempo che in automatico il codice si attiva e pulisce il desktop.
Se potete darmi qualche spunto o anche dei progetti simili già realizzati, fatemi sapere.
Partiamo da un concetto: quello che intenderesti fare è una cosa molto system-dependent, ovvero varia molto a seconda del Sistema Operativo.
Innanzitutto il "desktop" sui vari SO, sicuramente Windows e Linux (credo pure i Mac ma non so di preciso), è una (almeno una) directory presente su disco come altre.
Sul mio Windows 10 la directory desktop del mio utente è:
C:\Users\Andrea\Desktop
Attenzione: questa è solo la cartella desktop del MIO utente con cui sono loggato. C'è un'altra cartella:
C:\Users\Public\Desktop
Questo è il desktop "pubblico" cioè la cartella che contiene collegamenti/ecc.. che sono condivisi tra più utenti.
Quindi cosa/quanto intendi considerare di tutto questo?
Inoltre sul desktop ci sono icone (es. Cestino) che non sono fisicamente in queste cartelle (non mi ricordo come sono mappate, se nei meandri del Registry o che altro).
Quindi prima questione: come rintracciare il path di queste cartelle.
C'è il modo "avanzato", ovvero invocare funzioni native del SO per ottenere questi path (su Windows sicuramente è possibile). Altro modo banale: la tua applicazione la configuri con un file di configurazione (e questo dovrà essere facilmente rintracciabile) dove ci sono questi path ed eventualmente altro (es. quell'intervallo di tempo).
A quel punto cancellare i collegamenti o altro sul desktop è possibile, sono dei file e con la API del package java.io è possibile elencare i file in una directory e poi farci un delete.
In definitiva: quello che hai chiesto è possibile in Java ma non è banalissimo. Richiede un po' di studio (dipendente dal SO interessato) su diverse API del framework. Cerca comunque di separare tutto questi in più sotto-problemi, altrimenti non ne esci ...
E lo dico onestamente: se in questo periodo stai imparando il linguaggio Java, non è facendo un
desktop cleaner che "impari" il linguaggio Java.