Java randomeaccessfile

Java randomeaccessfile
In questo articolo esamineremo la classe RandomAccessfile. Utilizza un cursore per spostare la posizione del puntatore attraverso il file. La possibilità di accedere al file in modo casuale gli dà il nome, RandomAccessFile.

Esempio 1: testo aggiuntivo alla fine di un file

In questo esempio, aggiungeremo il testo alla fine del seguente file utilizzando i metodi della classe RandomAccessFile.

Innanzitutto, importiamo il Java.io. Classe RandomAccessFile. Successivamente, facciamo un nuovo oggetto del Casualccessfile Chiamando il costruttore di RandomAccessFile ("File.txt "," rw "). Con il nome file e la modalità, questo oggetto funzione () costruisce un flusso di file di base randomizzante. In questo caso, la modalità è "RW" che lancia il file in modalità read-write.

Il metodo "Seek ()" viene utilizzato nella riga successiva con il file dei parametri. Il metodo lunghezza () imposta il cursore/puntatore sulla posizione specificata. Nel caso precedente, è la fine del testo del file. Quindi, il metodo WriteBytes () viene chiamato con la stringa ("ipsum") come parametri. Questo metodo scrive la stringa a partire dal file-pointer corrente o dal cursore. F.Il metodo Close () chiude il flusso di file di accesso casuale. Vengono rilasciate tutte le risorse di sistema utilizzate dal flusso.

Dopo aver compilato il codice dato, possiamo vedere i "dati aggiunti correttamente" nel terminale che indica che il codice è stato eseguito correttamente. Quindi, se apriamo il "file.TXT ”File in cui abbiamo aggiunto i dati nel nostro codice, possiamo vedere che i nostri dati vengono aggiunti correttamente alla fine del file.

Esempio 2: leggere il testo da un file di testo

In questo esempio, leggeremo il contenuto di un file di testo usando i metodi della classe RandomAccessFile. Il file da leggere in questo esempio è come mostrato nel seguente:

Nel codice indicato, importa per la prima volta il "Java.io.RandomAccessFile ”per usare i suoi metodi e funzioni. Qui, creiamo un flusso di file di base randomizza. L'offset corrente in byte dall'inizio del file è fornito da "F.funzione getFilePointer () ". Quindi, forniamo questo valore alla funzione Seek () che imposta il puntatore del file all'inizio del file in cui si svolge la lettura successiva. Successivamente, generiamo un array a 5 byte. Quando il metodo di lettura viene chiamato con questo array come parametro (f.Leggi (byte)), i 5 byte vengono letti dal file e vengono aggiunti all'array a 5 byte.

Il f.Il metodo Close () chiude il flusso RandomAccessFile. Vengono rilasciate tutte le risorse di sistema utilizzate dal flusso.

Infine, i byte di ritorno restituiscono l'array in cui viene letto e aggiunto il testo dal file. Questo può essere visto nel seguente che solo 5 caratteri dal file vengono visualizzati sul terminale.

Esempio 3: scrivere testo in un file di testo

In questo esempio, useremo i metodi Seek (), Write () e Close () per scrivere i dati in un file di testo. La funzione Get Bytes viene utilizzata anche in questo esempio per scrivere.

Nel codice indicato, per prima cosa importa il Java.io. RandomAccessfile per usare i suoi metodi e funzioni. Qui, creiamo un flusso di file di base randomizzante con la modalità "RW" che rappresenta che è in modalità lettura-scrittura. Il f.Cerca (5) il metodo sposta la posizione del puntatore del file su 5th indice. Quindi, il f.Scrivi ("dati".getBytes ()) scrive i nuovi byte di "dati" e sostituisce i byte esistenti se presenti in questa posizione.

Il f.Il metodo Close () chiude il flusso RandomAccessFile. Vengono rilasciate tutte le risorse di sistema utilizzate dal flusso.

Dopo il completamento della compilazione, la stringa "dati aggiunti correttamente" viene visualizzata sul terminale per indicare che il codice è stato eseguito correttamente. Il file di testo in cui abbiamo scritto il testo usando il file di randomeccess è mostrato nel seguente:

Esempio 4: aggiunta, aggiunta di testo in un file e leggendo il testo del file

In questo esempio, implementeremo tutti i diversi approcci che possiamo adottare con l'oggetto Classe RandomAccessFile e le sue molteplici funzioni per la scrittura, l'aggiunta e la lettura dei dati da un file di testo.

Creiamo tre diverse funzioni in una singola classe per scrivere, aggiungere i dati e leggere il contenuto del file di testo. Nei dati di appendici e nella funzione dei dati di scrittura, utilizziamo la funzione Write () utilizzando l'oggetto della classe RandomAccessFile. Nella funzione Append Data, aggiungiamo i dati dopo l'ultimo byte del file utilizzando il file.lunghezza () funzione come parametro nella funzione Seek (). Nella funzione dei dati di scrittura, inseriamo i dati all'inizio del file passando un valore intero nella funzione Seek (). In questo modo, la funzione dei dati di appending è in grado di aggiungere i dati alla fine del file. Nell'ultima funzione, utilizziamo la funzione read () per leggere i byte del file. In questa funzione, passiamo due parametri che fungono da intervallo da cui vogliamo leggere i dati.

Come possiamo vedere nel terminale, l'output mostra solo i primi 5 byte del file poiché l'intervallo è impostato nella funzione read (). Ora apriamo il file di testo e verifichiamo che i dati siano inseriti e aggiunti nella posizione corretta.

Come possiamo vedere nello snippet precedente, i dati nel file di testo vengono inseriti correttamente dopo aver eseguito il nostro programma Java.

Conclusione

Abbiamo discusso dell'uso della classe RandomAccessFile in Java in questo articolo. L'oggetto di questa classe viene utilizzato per chiamare le molteplici funzioni che sono redditizie nell'estrazione e nell'inserimento dei dati in un file di testo. Abbiamo implementato diversi esempi dei diversi metodi di questa classe in Ubuntu 20.04 ambiente. Abbiamo usato i metodi Write (), Seek () e Read () in questi esempi per inserire i dati in un file di testo e leggere il contenuto del file di testo dopo.