I dette program lærer du forskellige teknikker til at oprette en streng fra concents af en given fil i Java.
For at forstå dette eksempel skal du have kendskab til følgende Java-programmeringsemner:
- Java-streng
- Java-filklasse
Før vi opretter en streng fra en fil, antager vi, at vi har en fil med navnet test.txt i vores src- mappe.
Her er indholdet af test.txt
Dette er en testfil.
Eksempel 1: Opret streng fra fil
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); ) )
Produktion
(Dette er en testfil.)
I ovenstående program, vi bruger System
's user.dir
ejendom for at få den aktuelle mappe gemt i variablen sti. Tjek Java-programmet for at få den aktuelle mappe for at få flere oplysninger.
Vi brugte defaultCharset()
til filens kodning. Hvis du kender kodningen, skal du bruge den, ellers er det sikkert at bruge standardkodning.
Derefter brugte vi readAllLines()
metode til at læse alle linjer fra filen. Det tager stien til filen og dens kodning og returnerer alle linjerne som en liste som vist i output.
Da det readAllLines
også kan kaste en IOException, er vi nødt til at definere vores hovedmetode som sådan
public static void main (String () args) kaster IOException
Eksempel 2: Opret streng fra en fil
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); ) )
Produktion
Dette er en testfil.
I ovenstående program får vi en enkelt streng, linjer med alt indholdet i stedet for at få en liste over strenge.
Til dette brugte vi readAllBytes()
metode til at læse alle bytes fra den givne sti. Disse bytes konverteres derefter til en streng ved hjælp af standardkodningen.