In questo programma imparerai diverse tecniche per creare una stringa dai contenuti di un dato file in Kotlin.
Prima di creare una stringa da un file, supponiamo di avere un file denominato test.txt nella nostra cartella src .
Ecco il contenuto di test.txt
Questo è un file di prova.
Esempio 1: crea una stringa dal file
import java.nio.charset.Charset import java.nio.file.Files import java.nio.file.Paths fun main(args: Array) ( val path = System.getProperty("user.dir") + "\src\test.txt" val encoding = Charset.defaultCharset(); val lines = Files.readAllLines(Paths.get(path), encoding) println(lines) )
Quando esegui il programma, l'output sarà:
(Questo è un file di prova.)
Nel programma precedente, usiamo System
la user.dir
proprietà di per ottenere la directory corrente memorizzata nel percorso della variabile. Controlla il programma Kotlin per ottenere la directory corrente per ulteriori informazioni.
Abbiamo usato defaultCharset()
per la codifica del file. Se conosci la codifica, usala, altrimenti è sicuro usare la codifica predefinita.
Quindi, abbiamo usato il readAllLines()
metodo per leggere tutte le righe dal file. Prende il percorso del file e la sua codifica e restituisce tutte le righe come un elenco come mostrato nell'output.
Poiché readAllLines può anche generare un'IOException, dobbiamo definire il nostro metodo principale come tale
public static void main (String () args) genera IOException
Esempio 2: creare una stringa da un file
import java.nio.charset.Charset import java.nio.file.Files import java.nio.file.Paths fun main(args: Array) ( val path = System.getProperty("user.dir") + "\src\test.txt" val encoding = Charset.defaultCharset() val encoded = Files.readAllBytes(Paths.get(path)) val lines = String(encoded, encoding) println(lines) )
Quando esegui il programma, l'output sarà:
Questo è un file di prova.
Nel programma precedente, invece di ottenere un elenco di stringhe, otteniamo una singola stringa, linee, con tutto il contenuto.
Per questo, abbiamo utilizzato il readAllBytes()
metodo per leggere tutti i byte dal percorso specificato. Questi byte vengono quindi convertiti in una stringa utilizzando la codifica predefinita.
Ecco il codice Java equivalente: programma Java per creare una stringa dal contenuto di un file.