Abr*_*ial 26 java file-io encoding netbeans
我在使用utf-8编码读取文本文件时遇到问题我正在使用带有netbeans 7.2.1平台的java
我已经配置了java项目来处理UTF-8 javaproject ==>右键单击==> properties ==> source ==> UTF-8
但仍然得到未知的字符输出:
代码:
File fileDirs = new File("C:\\file.txt");
BufferedReader in = new BufferedReader(
new InputStreamReader(new FileInputStream(fileDirs), "UTF-8"));
String str;
while ((str = in.readLine()) != null) {
System.out.println(str);
}
Run Code Online (Sandbox Code Playgroud)
还有其他想法吗?
谢谢
Sho*_*rma 34
使用
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
public class test {
public static void main(String[] args){
try {
File fileDir = new File("PATH_TO_FILE");
BufferedReader in = new BufferedReader(
new InputStreamReader(new FileInputStream(fileDir), "UTF-8"));
String str;
while ((str = in.readLine()) != null) {
System.out.println(str);
}
in.close();
}
catch (UnsupportedEncodingException e)
{
System.out.println(e.getMessage());
}
catch (IOException e)
{
System.out.println(e.getMessage());
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
}
Run Code Online (Sandbox Code Playgroud)
您需要将UTF-8放在引号中
Mov*_*ast 10
您正在读取文件,但问题似乎是默认编码System.out.试试这个打印UTF-8字符串 -
PrintStream out = new PrintStream(System.out, true, "UTF-8");
out.println(str);
Run Code Online (Sandbox Code Playgroud)
您需要使用Charset参数指定InputStreamReader的编码.
Charset inputCharset = Charset.forName("ISO-8859-1");
InputStreamReader isr = new InputStreamReader(fis, inputCharset));
Run Code Online (Sandbox Code Playgroud)
这对我有用.我希望能帮助你.
| 归档时间: |
|
| 查看次数: |
116453 次 |
| 最近记录: |