Java用字符串替换unicode字符

时间:2012-04-26 19:27:53

标签: java regex file

我有一个读入文件的程序。在这个文件中有一些我从未见过的疯狂的字符。此文件的目的是将某些信息解析为SQL语句。

当我在文件“read”的详细信息中找到...(标题名称“”(注意水平椭圆和右/左引号)时,它输出到:

D 的详细信息(标题名称

我只想用我定义的字符替换正确的字符。我试过了:

st = st.replaceAll("…","...");
st = st.replaceAll("\u2026","...");

这是我阅读文件的方式:

 FileInputStream file = new FileInputStream(filePath);
 DataInputStream in = new DataInputStream(file); 
 BufferedReader br = new BufferedReader(new InputStreamReader(in));

还有其他我甚至无法记住的事情。我怎么能做这个看似简单的任务?

2 个答案:

答案 0 :(得分:1)

在替换specials chars ...

之前,您需要在读取文件时指定编码
FileInputStream inputStream = new FileInputStream("input.txt");
// Specify the enconding
InputStreamReader streamReader = new InputStreamReader(inputStream, "UTF-8");
BufferedReader in = new BufferedReader(streamReader);

答案 1 :(得分:0)

除非绝对必要,否则你不必放弃那些奇怪的(但仍然有意义的)角色......

查看InputStreamReader的文档,并在阅读文件时指定正确的编码。