Emaborsa
21-04-2010, 16:38
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:
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?
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?