android IO流 写入 读出

来源:互联网 发布:linux 原生镜像 编辑:程序博客网 时间:2024/05/16 05:21

本文章转载自:http://blog.csdn.net/jdsjlzx/article/details/6722933

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

View Code
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();    }}
0 0
原创粉丝点击