大家好我是图恩,最近在给网站添加一个在线看电子书的功能,需要通过java读取txt文件,然后返回给前端,前端在线显示返回的数据。
目前实现的功能就是通过java读取txt文件,按行读取然后添加换行符,最后组装成字符串返回,前端拿到的直接就是组装好的字符串,直接显示即可。
过程中遇到了解析内容乱码问题,解决办法就是通过编辑器重新保存一下txt文件内容为utf8格式,通过java解析的时候也默认为utf8格式一可以正常获取到不乱码的内容,否则还得适配格式问题。
注意通过bufferedReader.readLine()按行读取的时候通过System.getProperty("line.separator") 添加换行符就可实现换行效果。
\n\n\n\n\n\n
以下代码供参考:
public String getBookDetail(@RequestParam String filename) throws IOException {\n Map siteInfo = accountService.getSiteInfo();\n String realPath = (String) siteInfo.get("bookUrl") + filename;\n File file =new File(realPath);//浏览F盘a文件夹下的所有内容\n if (!file.exists()){\n throw new Error("error");\n }\n InputStreamReader read = new InputStreamReader(new FileInputStream(file),"utf8");//考虑到编码格式\n BufferedReader bufferedReader = new BufferedReader(read);\n String lineTxt = null;\n String tempTxt = "";\n while((lineTxt = bufferedReader.readLine()) != null){\n // System.getProperty("line.separator") 为换行符号\n tempTxt+=lineTxt + System.getProperty("line.separator");\n }\n read.close();\n return tempTxt;\n }