In dit programma leer je verschillende technieken om een string te maken op basis van een bepaald bestand in Java.
Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende Java-programmeeronderwerpen:
- Java-tekenreeks
- Java-bestandsklasse
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.io.IOException; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; public class FileString ( public static void main(String() args) throws IOException ( String path = System.getProperty("user.dir") + "\src\test.txt"; Charset encoding = Charset.defaultCharset(); List lines = Files.readAllLines(Paths.get(path), encoding); System.out.println(lines); ) )
Uitvoer
(Dit is een testbestand.)
In het bovenstaande programma gebruiken we System
de user.dir
eigenschap van om de huidige directory op te halen in het variabele pad. Controleer Java-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 het 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.io.IOException; import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Paths; public class FileString ( public static void main(String() args) throws IOException ( String path = System.getProperty("user.dir") + "\src\test.txt"; Charset encoding = Charset.defaultCharset(); byte() encoded = Files.readAllBytes(Paths.get(path)); String lines = new String(encoded, encoding); System.out.println(lines); ) )
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.