Kotlin-programma om een ​​string te maken van de inhoud van een bestand

In dit programma leer je verschillende technieken om een ​​string te maken van concents van een bepaald bestand in Kotlin.

Voordat we een string van een bestand maken, gaan we ervan uit dat we een bestand met de naam test.txt in onze src- map hebben.

Hier is de inhoud van test.txt

 Dit is een testbestand.

Voorbeeld 1: tekenreeks maken van bestand

 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) )

Wanneer u het programma uitvoert, is de uitvoer:

 (Dit is een testbestand.)

In het bovenstaande programma gebruiken we Systemde user.direigenschap van om de huidige directory op te halen in het variabele pad. Controleer het Kotlin-programma om de huidige directory op te halen voor meer informatie.

We gebruikten defaultCharset()voor de codering van het bestand. Als u de codering kent, gebruik deze dan, anders is het veilig om de standaardcodering te gebruiken.

Vervolgens hebben we de readAllLines()methode gebruikt om alle regels uit het bestand te lezen. Het neemt het pad van het bestand en zijn codering, en retourneert alle regels als een lijst zoals weergegeven in de uitvoer.

Omdat readAllLines ook een IOException kan genereren, moeten we onze hoofdmethode als zodanig definiëren

 public static void main (String () args) gooit IOException

Voorbeeld 2: maak een string van een bestand

 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) )

Wanneer u het programma uitvoert, is de uitvoer:

 Dit is een testbestand.

In het bovenstaande programma krijgen we in plaats van een lijst met tekenreeksen een enkele tekenreeks, regels, met alle inhoud.

Hiervoor hebben we de readAllBytes()methode gebruikt om alle bytes van het opgegeven pad te lezen. Deze bytes worden vervolgens geconverteerd naar een string met behulp van de standaardcodering.

Hier is de equivalente Java-code: Java-programma om een ​​string te maken op basis van de inhoud van een bestand.

Interessante artikelen...