Come rinominare un file usando Java

Come rinominare un file usando Java
La ridenominazione di un file viene in genere eseguita tramite il programma di shell del sistema operativo o l'interfaccia della finestra corrispondente. Tuttavia, Java ha le classi, i file e i file predefiniti, con comandi shell, che sono metodi delle classi. La classe, il file è nel java.io.* pacchetto, che deve essere importato per i suoi metodi da utilizzare. La classe, i file (che terminano con "s") sono nel Java.nio.file.* pacchetto, che deve anche essere importato, per l'utilizzo dei propri metodi.

Per rinominare un file, l'utente o il programmatore dovrebbero avere l'autorizzazione di esecuzione della directory che ha direttamente il file. Inoltre, se il nuovo nome esiste già, come nome di un altro file nella stessa directory, la rinascita non dovrebbe aver luogo.

La classe Files ha maggiori vantaggi rispetto alla classe di file. Ad esempio, se esiste già un altro file con lo stesso nome, la classe file ha la scelta di sostituire l'altro file. Ha uno schema di gestione (errore) di eccezione, mentre il file non ha uno schema di gestione delle eccezioni efficace.

Questo articolo spiega come rinominare un file tramite Java, utilizzando il file e le classi di file.

File di classe

Questa classe ha il metodo chiamato renameto (), per rinominare un file. Per utilizzare questo metodo, un oggetto del tipo, file, deve essere istanziato dalla classe, file. È questo oggetto che impiegherà il metodo. Un oggetto file è un oggetto che ha un percorso del file. Un esempio di percorso di un file è:

/home/utente/dir1/demo.TXT

dove i nomi sono directory, tranne "Demo.txt "che è un nome file. La sintassi di un costruttore per creare (istanziare) un oggetto file è:

File pubblico (String Pathname)

dove il percorso è un percorso come quello sopra, ma deve essere tra le citazioni.

La sintassi per il metodo RenameTo dell'oggetto file è:

Public Boolean Renameto (File Dest)

Where Dest (per destinazione) è un nuovo oggetto file dello stesso percorso ma termina con il nuovo nome file. Nota: il nome file alla fine di un percorso fa parte del percorso (ufficialmente). Ciò significa che Dest è un altro oggetto file che dovrebbe fare riferimento allo stesso file. Quindi se il nome demo.txt deve essere cambiato in realtà.txt, il dest sarebbe:

/home/utente/dir1/effettivo.TXT

Il metodo restituisce vero se la ridenominazione ha avuto luogo e falso altrimenti. Se viene restituito false, non sarà facilmente possibile sapere perché il file non potrebbe essere rinominato.

Il seguente programma Java rinomina il file, demo.txt a reale.txt, in conformità con lo schema di cui sopra:

Importa Java.io.*;
Classe pubblica TheClass
public static void main (string [] args)
File FileObjold = nuovo file ("/home/utente/dir1/demo.TXT");
File FileObjNew = nuovo file ("/home/utente/dir1/effect.TXT");
if (fileobjold.renameto (fileobjnew))
Sistema.fuori.println ("file rinominato correttamente.");
altro
Sistema.fuori.println ("Errore: il file non può essere rinominato!");


L'output dovrebbe essere:

File rinominato correttamente.

tutto è uguale.

File di classe

La classe, file in java.nio.file.* Il pacchetto ha solo metodi statici. "Statico" indica che la classe non deve essere istanziata per nessuno dei suoi metodi da utilizzare. La classe ha il metodo statico chiamato Move (), per spostare un file da un posto all'altro, con la possibilità di dare al file di destinazione un nuovo nome. Per utilizzare questo metodo, un oggetto del tipo, percorso, deve essere ottenuto (restituito) dalla classe, percorsi. È questo oggetto che impiegherà il metodo. Un oggetto percorso è simile a un oggetto file: è un oggetto che ha un percorso del file. Un esempio di percorso di un file è:

/home/utente/dir1/demo.TXT

dove i nomi sono directory, tranne "Demo.txt "che è un nome file. La classe Paths ha solo metodi statici. Uno di essi è:

percorso statico pubblico get (string prima, stringa ... di più)

Ancora una volta, "statico" significa che non è necessario creare un oggetto Paths (istanziato), per il metodo get () da utilizzare. I molti argomenti del metodo get () significano che le molte stringhe sarebbero unite per ottenere un percorso da ottenere. Una stringa letterale è in doppia citazione.

La classe Paths è anche nel Java.nio.file.* pacchetto, che deve essere importato.

La sintassi per il metodo Move () della classe file è:

Public Static Path Move (Path Source, Path Target, CopyOption ... Opzioni) lancia IOException

Lancia un Ioexception. Quindi questa affermazione dovrebbe essere in un blocco di prova, seguita da un blocco di cattura. La fonte si riferisce al percorso originale ma deve essere un oggetto percorso. Target si riferisce al nuovo percorso e deve anche essere un oggetto percorso. L'argomento del copyoption può essere omesso come nel seguente programma.

Per rinominare un file con il metodo Move (), il file verrà spostato su se stesso e gli darà un nuovo nome. Quindi, il percorso per la fonte dovrebbe terminare con il nome file originale e il percorso per il target dovrebbe terminare con il nuovo nome file. Quindi se il nome demo.txt deve essere cambiato in realtà.txt, quindi il percorso per l'obiettivo sarebbe:

/home/utente/dir1/effettivo.TXT

Il metodo Move lancia un'eccezione, che è un oggetto della classe IOException. Quindi, il pacchetto Java.io.*, che ha la classe IOException, deve essere importato.

Il seguente programma Java, rinomina il file, demo.txt a reale.txt, in conformità con questo schema:

Importa Java.io.*;
Importa Java.nio.file.*;
Classe pubblica TheClass
public static void main (string [] args)
Path Source = Paths.get ("/home/utente/dir1/demo.TXT");
Path Target = Paths.Ottieni ("/home/utente/dir1/effettivo.TXT");
Tentativo
File.muoversi (fonte, target);
catch (ioException e)
e.printStackTrace ();


Se non esiste un output per questo particolare programma, il file è stato rinominato.

Conclusione

La ridenominazione di un file viene in genere eseguita tramite il programma di shell del sistema operativo o l'interfaccia della finestra corrispondente. Tuttavia, Java ha le classi, i file e i file predefiniti, con comandi shell, che sono metodi delle classi. La classe, il file è nel java.io.* pacchetto, che deve essere importato per i suoi metodi da utilizzare. La classe, i file sono in java.nio.file.* pacchetto, che deve anche essere importato, per utilizzare i propri metodi.

Per utilizzare la classe di file, un oggetto di tipo di file deve essere istanziato. Questo oggetto utilizzerà il suo metodo RenameTo () per rinominare il file. Per utilizzare questo metodo, sono necessari due oggetti di file, efficacemente percorsi oggetti. Gli oggetti del percorso differiscono solo alle loro estremità del percorso, con i vecchi e nuovi file di file. L'oggetto file è della classe file, che è nel Java.io.* pacchetto.

D'altra parte, la classe Files utilizza il suo metodo statico Move () per rinominare un file indirettamente. Questo metodo Move () sposta un file su se stesso ma con un nuovo nome. Per utilizzare questo metodo, sono necessari due oggetti percorsi. L'oggetto del percorso differisce solo alle loro estremità del percorso, con i vecchi e nuovi nomi di file. L'oggetto percorso è della classe Paths, che è nella Java.nio.file.* pacchetto. La classe Paths ha solo metodi statici, di cui quello per ottenere un oggetto Path è Get ().