Android 读取txt文档

来源:互联网 发布:mathlab mac版怎么样 编辑:程序博客网 时间:2024/04/28 07:51
Android 读取txt文档
<pre name="code" class="java">/*** * 将文本文件中的内容读成字符串 * ***/private String getTextString(String pathandname, String code) {String str = "";try {FileInputStream fis = new FileInputStream(pathandname);int size = fis.available();byte[] buffer = new byte[size];fis.read(buffer);fis.close();str = new String(buffer, code);} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (UnsupportedEncodingException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return str;}/**** * 无法确切的判断出文档的编码是gbk或者是gb2312 获取指定文档的编码方式 * ***/public static String getCode(String filepath) {File file = new File(filepath);System.out.println(file.exists() + "," + file.getAbsolutePath());String code = "";try {FileInputStream fis = new FileInputStream(file);BufferedInputStream in = new BufferedInputStream(fis);in.mark(4);byte[] first3bytes = new byte[3];in.read(first3bytes);// 找到文档的前三个字节并自动判断文档类型。in.reset();if (first3bytes[0] == (byte) 0xEF && first3bytes[1] == (byte) 0xBB&& first3bytes[2] == (byte) 0xBF) {// utf-8code = "utf-8";} else if (first3bytes[0] == (byte) 0xFF&& first3bytes[1] == (byte) 0xFE) {code = "unicode";} else if (first3bytes[0] == (byte) 0xFE&& first3bytes[1] == (byte) 0xFF) {code = "utf-16be";} else if (first3bytes[0] == (byte) 0xFF&& first3bytes[1] == (byte) 0xFF) {code = "utf-16le";} else {// 无法确切判断出gb2312的编码code = "GB2312";code = "utf-8";}in.close();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (UnsupportedEncodingException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return code;}



0 0