我有一个读入文件的程序。在这个文件中有一些我从未见过的疯狂的字符。此文件的目的是将某些信息解析为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));
还有其他我甚至无法记住的事情。我怎么能做这个看似简单的任务?
答案 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的文档,并在阅读文件时指定正确的编码。