Java-program til at oprette streng ud fra indholdet af en fil

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.direjendom 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 readAllLinesogså 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.

Interessante artikler...