0

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

当我到达文件“read “Details for ...(the name of the title”)中的这一行时(注意水平省略号和右/左引号),它会输出到:

“详细信息”(标题名称)</p>

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

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

这就是我读取文件的方式:

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

还有其他一些我什至不记得的事情。我怎样才能完成这个看似简单的任务?

4

2 回答 2

1

您需要在替换特殊字符之前指定读取文件的编码...

FileInputStream inputStream = new FileInputStream("input.txt");
// Specify the enconding
InputStreamReader streamReader = new InputStreamReader(inputStream, "UTF-8");
BufferedReader in = new BufferedReader(streamReader);
于 2012-04-26T19:52:05.927 回答
0

除非绝对必要,否则您实际上不必删除那些奇怪(但仍然有意义)的字符...

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

于 2012-04-26T19:38:16.470 回答