首页 > 代码库 > android读去txt 为string
android读去txt 为string
直接用字节流读取,可保留原格式,在拼装字符串的时候可以把编码转为utf-8 防止乱码,但是根据缓存byte数组的大小不同,会出现部分字符乱码情况
public static String readToText(String filePath) {//按字节流读取可保留原格式,但是有部分乱码情况,根据每次读取的byte数组大小而变化 StringBuffer txtContent = new StringBuffer(); byte[] b = new byte[2048]; InputStream in = null; try { in = new FileInputStream(filePath); int n; while ((n = in.read(b)) != -1) { txtContent.append(new String(b, 0, n, "utf-8")); } in.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (in != null) { try { in.close(); } catch (IOException e) { e.printStackTrace(); } } } return txtContent.toString(); }
使用字符流的readline读取出来不能保留文档原格式,里面的空格换行都失效了。但是没有乱码。最终解决办法,是采用此方法,然后手动拼接换行符。代码如下:
public static String readtxt(String path) {//按行读取,不能保留换行等格式,所以需要手动添加每行换行符。 // String result = ""; StringBuffer txtContent = new StringBuffer(); File file = new File(path); try { int len = 0; FileInputStream in = new FileInputStream(file); InputStreamReader reader = new InputStreamReader(in, "utf-8"); BufferedReader br = new BufferedReader(reader); String s = null; while ((s = br.readLine()) != null) { if (len != 0) {// 处理换行符的问题,第一行不换行 txtContent.append(new String(("\r\n" + s).getBytes(), "utf-8")); } else { txtContent.append(new String(s.getBytes(), "utf-8")); } len++; } reader.close(); in.close(); } catch (UnsupportedEncodingException | FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } /*try { BufferedReader br = new BufferedReader(new FileReader(new File(path))); String s = null; while((s=br.readLine())!=null){ result = result + "\n" + s; } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }*/ return txtContent.toString(); }
android读去txt 为string
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。