このテキストファイルには多数のユニコードがあり、対応するUTF-8文字をコンソールで印刷しようとしています。私が値のいずれかをコピーしてSystem.outに貼り付けるのと同じように、それはうまく動作しますが、テキストファイルから読み込むときはそうではありません。Java - テキストファイルからunicodeを印刷しても、対応するUTF-8文字が出力されない
以下は、\ u00C0、\ u00C1、\ u00C2、\ u00C3のような値の行を含む、ファイルを読み取るためのコードです。これは、コンソールに出力され、必要な値ではありません。
private void printFileContents() throws IOException {
Path encoding = Paths.get("unicode.txt");
try (Stream<String> stream = Files.lines(encoding)) {
stream.forEach(v -> { System.out.println(v); });
} catch (IOException e) {
e.printStackTrace();
}
}
これは私が最初の場所でユニコードを持っていたHTMLを解析するために使用する方法です。
private void parseGermanEncoding() {
try
{
File encoding = new File("encoding.html");
Document document = Jsoup.parse(encoding, "UTF-8", "http://example.com/");
Element table = document.getElementsByClass("codetable").first();
Path f = Paths.get("unicode.txt");
try (BufferedWriter wr = new BufferedWriter(new FileWriter(f.toFile())))
{
for (Element row : table.select("tr"))
{
Elements tds = row.select("td");
String unicode = tds.get(0).text();
if (unicode.startsWith("U+"))
{
unicode = unicode.substring(2);
}
wr.write("\\u" + unicode);
wr.newLine();
}
wr.flush();
wr.close();
}
} catch (IOException e)
{
e.printStackTrace();
}
}
あなただけの '\ u00C2'を書くというように、あなたのファイルにしましたか?テキストファイルの一部を表示してください –
テキストファイルは次のようになります。 「\ u00C0 \ u00C1 \ u00C2 \ u00C3 \ u00C4 \ u00C5 \ u00C6 \ u00C7 \ u00C8 \ u00C9 \ u00CA \ u00CB \ u00CC \ u00CD \ u00CE \ u00CF \ u00D0 \ u00D1 \ u00D2 \ u00D3 \ u00D4 ' –
申し訳ありませんが、印刷が正しくありません。基本的にこれらの値はそれぞれ別の行にあります。 –