读取ansi格式txt文件乱码了,百度找了好多都不对,最后找到了。
ansi在中国就是gb2312。
public ListtoObject(List fileList) throws Exception { ArrayList bizJttInfos = new ArrayList(fileList); for (Object bizJttInfo : bizJttInfos) { File file = new File(String.valueOf(bizJttInfo)); boolean fileExists = file.exists(); if (fileExists) { InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream(file),"gb2312"); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String txtJson = null; StringBuilder jsonStringBuffer = new StringBuilder(); while ((txtJson = bufferedReader.readLine()) != null) { String txtJson1 = txtJson.toLowerCase(); jsonStringBuffer.append(txtJson1); } String jsonStringBufferToString = jsonStringBuffer.toString(); System.out.println(jsonStringBufferToString); BizJttInfo jsonTestDTO = JSONObject.parseObject(jsonStringBufferToString, BizJttInfo.class); jsonTestDTO.setFilepath(file.getPath()); jsonTestDTO.setCreatetime(new Timestamp(System.currentTimeMillis())); jsonTestDTO.setSyncstate(0); jsonTestDTO.setSynctime(new Timestamp(System.currentTimeMillis())); jsonTestDTO.setDatayear("xxxx"); List jsonTestDTOList = new ArrayList (); jsonTestDTOList.add(jsonTestDTO); System.out.println(jsonTestDTOList); return jsonTestDTOList; } } return null;
这样读取出的中文就正常了。



