Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
Con Midnight, Blizzard tenta il colpaccio: il player housing sbarca finalmente su Azeroth insieme a una Quel'Thalas ricostruita da zero. Tra il dramma della famiglia Ventolesto e il nuovo Prey System, ecco com'è la nuova espansione di World of Warcraft
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Nuova frontiera per i robot tagliaerba, con Ecovacs GOAT O1200 LiDAR Pro che riconosce l'ambiente in maniera perfetta, grazie a due sensori LiDAR, e dopo la falciatura può anche rifinire il bordo con il tagliabordi a filo integrato
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-04-2010, 16: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, 16: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, 17: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 17:29.
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 21-04-2010, 17: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, 12: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, 11: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


Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Attacco a Magento: ecco come un'immagine...
Un nuovo State of Play potrebbe arrivare...
App IO e IT-Wallet: i 14enni potranno ac...
No Man's Sky introduce la Xeno Arena: un...
Distributed AI Hub: l'infrastruttura IA ...
MOUSE: P.I. For Hire mostra il suo lato ...
La doppia sentenza che complica il caso ...
Microsoft ce l'ha fatta! Windows 11 ha u...
Top 7 Amazon di oggi: crolla del 54% il ...
La Terra va verso gli 11,7 miliardi di a...
NVIDIA ribilancia la roadmap? Meno Hoppe...
Rimborso Netflix fino a 500 euro, come p...
DENZA debutta in Europa: Z9GT e D9 porta...
Steam potrebbe presto integrare un siste...
Claude Managed Agents in public beta: ad...
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: 12:51.


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