[英]UTF-8 to String in Java
我對 UTF-8 字符集有一點問題。 我有一個 UTF-8 編碼文件,我想加載和分析它。 我正在使用 BufferedReader 逐行讀取文件。
BufferedReader buffReader = new BufferedReader(new InputStreamReader
(new FileInputStream(file),"UTF-8"));
我的問題是 Java 中的法線字符串方法(例如,trim() 和 equals())不適合在我為讀取 BufferedReader 的所有內容而創建的循環的每次迭代中從 BufferReader 讀取的行中使用. 例如,在編碼文件中,我有< menu >
我希望我的程序按原樣處理它,但是,現在,它被視為?? < menu >
?? < menu >
夾雜着其他一些奇怪的字符。 我想知道是否有一種方法可以刪除所有字符集編碼並只保留純文本,這樣我就可以使用字符串 class 的所有方法而不會出現復雜情況。 謝謝
如果您的 jdk 不是太舊(1.5),您可以這樣做:
Locale frLocale = new Locale("fr", "FR");
Scanner scanner = new Scanner(new FileInputStream(file), "UTF-8");
scanner.useLocale(frLocale);
for (; scanner.hasNextLine(); numLine++) {
line = scanner.nextLine();
}
掃描儀還可以使用除空格以外的分隔符。 此示例從字符串中讀取多個項目:
String input = "1 fish 2 fish red fish blue fish";
Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
System.out.println(s.nextInt());
System.out.println(s.nextInt());
System.out.println(s.next());
System.out.println(s.next());
s.close();
prints the following output:
1
2
red
blue
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.