Torna indietro   Hardware Upgrade Forum > Software > Programmazione

AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming
AMD Ryzen 7 9850X3D è la nuova CPU gaming di riferimento grazie alla 3D V-Cache di seconda generazione e frequenze fino a 5,6 GHz. Nei test offre prestazioni superiori a 9800X3D e 7800X3D, confermando la leadership AMD nel gaming su PC.
Le soluzioni FSP per il 2026: potenza e IA al centro
Le soluzioni FSP per il 2026: potenza e IA al centro
In occasione del Tech Tour 2025 della European Hardware Association abbiamo incontrato a Taiwan FSP, azienda impegnata nella produzione di alimentatori, chassis e soluzioni di raffreddamento tanto per clienti OEM come a proprio marchio. Potenze sempre più elevate negli alimentatori per far fronte alle necessità delle elaborazioni di intelligenza artificiale.
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS è il principale operatore di servizi cloud al mondo e da tempo parla delle misure che mette in atto per garantire una maggiore sovranità alle organizzazioni europee. L'azienda ha ora lanciato AWS European Sovereign Cloud, una soluzione specificamente progettata per essere separata e distinta dal cloud "normale" e offrire maggiori tutele e garanzie di sovranità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-04-2010, 17:38   #1
Emaborsa
Senior Member
 
L'Avatar di Emaborsa
 
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
[Java] Eliminare un file

Scrivendo un programma in java (primi passi), ho dovuto creare una classe File che andrebbe a sostituire la java.io.File. A questo punto se io applico delete() ad un oggetto di tipo File (mio) ovviamente mi da errore. Perciò cercando in giro ho trovato un codice e l'ho adattato alla mia esigenza:

Codice:
public void del() {
	    
	    // A File object to represent the filename
	    java.io.File f = new java.io.File(getName()+".txt");

	    // Make sure the file or directory exists and isn't write protected
	    if (!f.exists())
	      throw new IllegalArgumentException(
	          "Delete: no such file or directory: " + getName()+".txt");

	    if (!f.canWrite())
	      throw new IllegalArgumentException("Delete: write protected: "
	          + getName()+".txt");

	    // If it is a directory, make sure it is empty
	    if (f.isDirectory()) {
	      String[] files = f.list();
	      if (files.length > 0)
	        throw new IllegalArgumentException(
	            "Delete: directory not empty: " + getName()+".txt");
	    }

	    // Attempt to delete it
	    boolean success = f.delete();
	    
	    if (!success)
	      throw new IllegalArgumentException("Delete: deletion failed");
	  }
Uso il metodo...e mi da sempre errore, ma l'ultimo. è come se non riuscisse ad eliminare il file, ma non capisco il perchè. Qualcuno mi sa dare una dritta?
__________________
Vendo...nulla.
Cerco...la felicità
.
Emaborsa è offline   Rispondi citando il messaggio o parte di esso
Old 21-04-2010, 17:47   #2
lupoxxx87
Senior Member
 
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
magari è una stupidata....

ma sei sicuro che questo file esista ?

java.io.File f = new java.io.File(getName()+".txt");
lupoxxx87 è offline   Rispondi citando il messaggio o parte di esso
Old 21-04-2010, 18:26   #3
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da lupoxxx87 Guarda i messaggi
magari è una stupidata....

ma sei sicuro che questo file esista ?

java.io.File f = new java.io.File(getName()+".txt");
Presumo di sì, dato che ha inserito il controllo:
Codice:
...
// Make sure the file or directory exists and isn't write protected
	    if (!f.exists())
	      throw new IllegalArgumentException(
	          "Delete: no such file or directory: " + getName()+".txt");
Ho visto che controlli di poter modificare il file con il metodo canWrite però, a leggere la relativa documentazione, il Security Manager in questo caso spara l'eccezione a seguito di una chiamata a SecurityManager.checkWrite(java.lang.String).

Invece a chiamare File.delete() il Security Manager chiama SecurityManager.checkDelete(java.lang.String), forse non è la stessa cosa.
Sul momento non mi viene in mente nulla, mi ricordo però che a me una volta era capitato di non riuscire a cancellare un file perchè da un'altra parte nel codice avevo dimenticato di chiudere uno Scanner che usavo per leggerci dentro (quindi forse al momento della chiamata a File.delete lo stream relativo al file era ancora aperto e questo causava il problema).
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)

Ultima modifica di banryu79 : 21-04-2010 alle 18:29.
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 21-04-2010, 18:32   #4
Emaborsa
Senior Member
 
L'Avatar di Emaborsa
 
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
Se il file non esistesse mi darebbe l'altro errore.
Ho trovato un altro codice, simile...ma sempre la stessa cosa.
Di solito se il Sistema non elimina il file è perchè è in uso. Sembra che la mia applicazione tenga caricato tale file e ovviamente non riesce ad eliminarlo, anche se presente. Ma in questo caso non dovrebbe darmi errore:

Codice:
if (!f.canWrite())
	      throw new IllegalArgumentException("Delete: write protected: "
	          + getName()+".txt");
__________________
Vendo...nulla.
Cerco...la felicità
.
Emaborsa è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2010, 13:29   #5
Emaborsa
Senior Member
 
L'Avatar di Emaborsa
 
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
Ho trovato il dilemma. Nel codice prima di tentare di eliminare il file, ho aperto un Filereader su file in questione e avevo dimenticato di dargli il comando close(). Per questo motivo non me lo cancellava... Una volta messo il close(), cancella.
__________________
Vendo...nulla.
Cerco...la felicità
.
Emaborsa è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2012, 12:51   #6
Gecorosso
Junior Member
 
Iscritto dal: Nov 2008
Messaggi: 1
Mi avete Salvato da un esaurimento

Ragazzi non sò come ringraziarvi , stavo per impazzire!!! Grazie di cuore per la soluzione!!!
Gecorosso è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequen...
Le soluzioni FSP per il 2026: potenza e IA al centro Le soluzioni FSP per il 2026: potenza e IA al ce...
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa AWS annuncia European Sovereign Cloud, il cloud ...
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto Redmi Note 15 Pro+ 5G: autonomia monstre e displ...
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Booking.com e OpenAI annunciano SME AI A...
Xiaomi SU7 Ultra: da domani tutti i gioc...
Sharp Inspire Expo 2026: da produttore d...
Razer Synapse Web è realtà...
Concessionarie Audi chiudono improvvisam...
Resident Evil Requiem: 4K, 60 FPS e ray ...
Le batterie LFP sono piccole e pesanti? ...
Motorola inarrestabile: nuova serie moto...
Decima generazione Pokémon: grafi...
Una nuova legge consente di rottamare un...
Google mostra per sbaglio Android per PC...
Tesla non convince più: crolla il...
OpenAI lancia Prism: l'AI ora lavora fia...
Nissan mette i pannelli solari su Ariya:...
Day 3 a Barcellona: la prima di Norris c...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 23:52.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v