[英]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.