簡體   English   中英

java utf-8文件讀取

[英]java utf-8 file reading

我正在嘗試讀取UTF-8編碼的文件,如下所示:

import java.io.*;

class main {
    public static void main(String[] args) throws java.lang.Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("temp.txt"), "UTF-8"));
        String line;
        line = br.readLine();
        line = line.trim();
        boolean val1 = line.length() != 0;
        boolean val2 = !line.startsWith("//");
        System.out.println(val1 + " " + val2);
        br.close();
    }
}

文件temp.txt包含第一行-

//,<verb>,<verb>

因此,輸出應為

true false

但是我得到的輸出為

true true

有人可以告訴我如何解決這個問題嗎?

文件的開頭可能有一個BOM(字節順序標記)

UTF-8的這些BOM字節為:0xEF 0xBB 0xBF。 當保存為UTF-8時,它們只是文本編輯器添加的文件的前3個字節。 可能您的文本編輯器應該可以選擇保存沒有BOM的UTF-8文本。

在文本編輯器中打開temp.txt,並確保//前面沒有任何字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM