zoukankan      html  css  js  c++  java
  • 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

    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();
    }

    }
  • 相关阅读:
    C#项目完成PDF文件增加印章操作可指定印章位置
    webBrowser1加载本地文件
    转义示例
    动态调用WebService服务
    C#调用WSDL接口
    VS 控件命名规范
    正则判断是否是数字
    怎么让 arcgis 4 弹出窗 漂亮 支持多个弹出窗 支持vue或者react
    关于arcgis 会主动添加https头的问题
    arcgis 4 整合 d3 实现动画
  • 原文地址:https://www.cnblogs.com/xiaobuild/p/2152140.html
Copyright © 2011-2022 走看看