I dette programmet lærer du forskjellige teknikker for å lage en streng fra innholdet i en gitt fil i Java.
For å forstå dette eksemplet, bør du ha kunnskap om følgende Java-programmeringsemner:
- Java-streng
- Java-filklasse
Før vi oppretter en streng fra en fil, antar vi at vi har en fil som heter test.txt i src- mappen.
Her er innholdet i test.txt
Dette er en testfil.
Eksempel 1: Opprett 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); ) )
Produksjon
(Dette er en testfil.)
I programmet ovenfor, bruker vi System
's user.dir
eiendom for å få den gjeldende katalogen lagret i variabelen banen. Sjekk Java-programmet for å få den gjeldende katalogen for mer informasjon.
Vi brukte defaultCharset()
for koding av filen. Hvis du kjenner kodingen, bruk den, ellers er det trygt å bruke standard koding.
Deretter brukte vi readAllLines()
metoden for å lese alle linjene fra filen. Det tar banen til filen og dens koding og returnerer alle linjene som en liste som vist i utdataene.
Siden det readAllLines
også kan kaste et IOException, må vi definere vår hovedmetode som sådan
public static void main (String () args) kaster IOException
Eksempel 2: Opprett 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); ) )
Produksjon
Dette er en testfil.
I programmet ovenfor, i stedet for å få en liste over strenger, får vi en enkelt streng, linjer, med alt innholdet.
For dette brukte vi readAllBytes()
metode for å lese alle byte fra den gitte banen. Disse bytene blir deretter konvertert til en streng ved hjelp av standardkodingen.