我有一个 htm 文件,我可以在不对文件做任何操作的情况下将其读取为 UTF-8 格式的文件吗? 该文件以 unicode 格式保存(不确定)我想将其作为 UTF-8 文件读取,否则它会给我一些框。这必须使用 java
FileReader loInput = new FileReader(loFile);
BufferedReader loBufferReader = new BufferedReader(loInput);
String loLine; // String that holds current loFile loLine
int loCount = 0; // Line number of loCount
loLine = loBufferReader.readLine();
loCount++;
while (loLine != null) {
loContent = loContent.concat(loLine);
loLine = loBufferReader.readLine();
loCount++;
}
loBufferReader.close();
我试过了
编辑:我必须从 HTML 文件中获取数据并将其转换为 DOM 对象以供进一步处理
我正在使用
SAXBuilder loSaxBuilder=new SAXBuilder();
Reader loStringReader=new StringReader(loContent);
Document loDoc=loSaxBuilder.build(loStringReader);
XPath loXpath = XPath.newInstance("/Div");
Element loElement = (Element) loXpath.selectSingleNode(loDoc);
将其转化为dom对象
最佳答案
首先,Unicode 不是一种编码,而是一个编码家族,UTF-8 就是其中之一。
其次,你可以使用类似的东西
Reader in = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
然后循环读取in
并附加到StringBuilder
或CharBuffer
,或者写入StringWriter
,但使用 IOUtils.toString(InputStream,String) from Apache Commons IO 可能对您来说最简单,我推荐。
关于java - 我有一个 htm 文件,我可以将它读取为 UTF-8 格式的文件而不对该文件做任何操作吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4427847/