Oppgave 1
for (String type : Charset.availableCharsets().keySet()) System.out.println(type);
Oppgave 2
I flg. kode starter det med UTF-8 både for utskrift og for lesing. Sjekk at det virker. Bruk så ISO-8859-1 begge steder. Velg så UTF-8 for utskrift og ISO-8859-1 for innlesing. Til til slutt det motsatte, dvs. ISO-8859-1 for utskrift og UTF-8 for innlesing.
import java.io.*; import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class AlgDat { public static void main(String[] args) throws IOException { Path vei = Paths.get("fil.txt"); Charset latin1 = Charset.forName("ISO-8859-1"); Charset utf8 = Charset.forName("UTF-8"); BufferedWriter ut = Files.newBufferedWriter(vei, utf8); String s = "Dette er en test for Æ, Ø og Å!\nDette er linje nr. 2 med Æ, ø og å.\n"; ut.write(s); ut.close(); BufferedReader inn = Files.newBufferedReader(vei, utf8); String linje; inn.lines().forEach(System.out::println); inn.close(); } }
Oppgave 4
String s = "Dette er en test!\nDette er linje nr. 2.\n"; Reader inn = new StringReader(s); for (int k = inn.read(); k != -1; k = inn.read()) System.out.print((char)k); inn.close(); // er egentlig unødvendig her /* Utskrift: Dette er en test! Dette er linje nr. 2. */