android IO流 写入 读出
String –> InputStream
InputStrem is = new ByteArrayInputStream(str.getBytes()); ByteArrayInputStream stream = new ByteArrayInputStream(str.getBytes());
InputStream–>String
inputStream input; StringBuffer out = new StringBuffer(); byte[] b = new byte[4096]; for (int n; (n = input.read(b)) != -1;) { out.append(new String(b, 0, n)); } out.toString();
or
InputStream in ; BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(in)); } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); } StringBuffer sb = new StringBuffer(); String tmp; try { while ((tmp = br.readLine()) != null) { sb.append(tmp + "\n"); } br.close(); in.close(); } catch (IOException e) { e.printStackTrace(); } return sb.toString();
Reader –>String
BufferedReader in = new BufferedReader(new InputStreamReader(is)); StringBuffer buffer = new StringBuffer(); String line = " "; while ((line = in.readLine()) != null){ buffer.append(line); } return buffer.toString();
String–>Reader
Reader reader = null; BufferedReader r = new BufferedReader(reader); StringBuilder b = new StringBuilder(); String line; while((line=r.readLine())!=null) { b.append(line); b.append(“\r\n”); } b.toString();
FileUtils


public class FileUtils { private String SDPATH; private int FILESIZE = 4 * 1024; public String getSDPATH() { return SDPATH; } public FileUtils() { // 得到当前外部存储设备的目录( /SDCARD ) SDPATH = Environment.getExternalStorageDirectory() + "/"; } /** * 在SD卡上创建文件 * * @param fileName * @return * @throws IOException */ public File createSDFile(String fileName) throws IOException { File file = new File(SDPATH + fileName); file.createNewFile(); return file; } /** * 在SD卡上创建目录 * * @param dirName * @return */ public File createSDDir(String dirName) { File dir = new File(SDPATH + dirName); dir.mkdir(); return dir; } /** * 判断SD卡上的文件夹是否存在 * * @param fileName * @return */ public boolean isFileExist(String fileName) { File file = new File(SDPATH + fileName); return file.exists(); } /** * 将一个InputStream里面的数据写入到SD卡中 * * @param path * @param fileName * @param input * @return */ public File write2SDFromInput(String path, String fileName, InputStream input) { File file = null; OutputStream output = null; try { createSDDir(path); file = createSDFile(path + fileName); output = new FileOutputStream(file); byte[] buffer = new byte[FILESIZE]; while ((input.read(buffer)) != -1) { output.write(buffer); } output.flush(); } catch (Exception e) { e.printStackTrace(); } finally { try { output.close(); } catch (IOException e) { e.printStackTrace(); } } return file; } /** * 在sd卡中读出文本文件 返回String * strFullPath 读取文件的完整路径 */ public String ReadSDFiled(String strFullPath) { File file = new File(SDPATH + strFullPath); InputStream in = null; try { in = new BufferedInputStream(new FileInputStream(file)); } catch (FileNotFoundException e3) { e3.printStackTrace(); } BufferedReader br = null; try { /* 转换编码 */ br = new BufferedReader(new InputStreamReader(in, "gb2312")); /* 不转换编码 */ // br = new BufferedReader(new InputStreamReader(in)); } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); } StringBuffer sb = new StringBuffer(); String tmp; try { while ((tmp = br.readLine()) != null) { sb.append(tmp + "\n"); } br.close(); in.close(); } catch (IOException e) { e.printStackTrace(); } return sb.toString(); } }
最后更新:2017-04-02 06:51:52