日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

文件存儲(chǔ)

更新時(shí)間:

mPaaS 提供的文件存儲(chǔ)基于 Android 原生 File,提供了加密能力。

說(shuō)明

由于文件加密采用無(wú)線(xiàn)保鏢提供的加密功能,請(qǐng)確保無(wú)線(xiàn)保鏢加密圖片已正確生成。

文件存儲(chǔ)類(lèi)型

  • ZFile:該文件類(lèi)型存儲(chǔ)在 data/data/package_name/files 下。

  • ZExternalFile:該文件類(lèi)型存儲(chǔ)在 sdcard/Android/data/package_name/files 下。

  • ZFileInputStream/ZFileOutputStream:文件存儲(chǔ)輸入輸出流,使用該流則不進(jìn)行加解密。

  • ZSecurityFileInputStream/ZSecurityFileOutputStream:文件存儲(chǔ)安全輸入輸出流,使用該流則會(huì)進(jìn)行加解密。

使用示例

文件轉(zhuǎn)文本

    /**
     * 文件轉(zhuǎn)文本
     * @param file 文件
     * @return 文本
     */
    public String file2String(File file) {
        InputStreamReader reader = null;
        StringWriter writer = new StringWriter();
        try {
            // 使用解密輸入流 ZSecurityFileInputStream
            // 如果不使用加解密功能,則請(qǐng)使用 ZFileInputStream
            reader = new InputStreamReader(new ZSecurityFileInputStream(file, this));
            //將輸入流寫(xiě)入輸出流
            char[] buffer = new char[DEFAULT_BUFFER_SIZE];
            int n = 0;
            while (-1 != (n = reader.read(buffer))) {
                writer.write(buffer, 0, n);
            }
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        } finally {
            if (reader != null)
                try {
                    reader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
        }
        //返回轉(zhuǎn)換結(jié)果
        if (writer != null) {
            return writer.toString();
        } else {
            return null;
        }
    }

文本轉(zhuǎn)文件

    /**
     * 文本轉(zhuǎn)文件
     * @param res 文本
     * @param file 文件
     * @return true 表示成功,反之失敗
     */
    public boolean string2File(String res, File file) {
        boolean flag = true;
        BufferedReader bufferedReader = null;
        BufferedWriter bufferedWriter;
        try {
            bufferedReader = new BufferedReader(new StringReader(res));
            // 使用加密輸出流 ZSecurityFileOutputStream
            // 如果不使用加解密功能,則請(qǐng)使用 ZFileOutputStream
            bufferedWriter = new BufferedWriter(new OutputStreamWriter(new ZSecurityFileOutputStream(file, this)));
            //字符緩沖區(qū)
            char buf[] = new char[DEFAULT_BUFFER_SIZE];
            int len;
            while ((len = bufferedReader.read(buf)) != -1) {
                bufferedWriter.write(buf, 0, len);
            }
            bufferedWriter.flush();
            bufferedReader.close();
            bufferedWriter.close();
        } catch (Exception e) {
            e.printStackTrace();
            flag = false;
            return flag;
        } finally {
            if (bufferedReader != null) {
                try {
                    bufferedReader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return flag;
    }

插入文件

    /**
     * 插入文件
     *
     * @param file 文件
     */
    private void insertFile(BaseFile file) {
        if (null == file) {
            return;
        }
        StringBuilder sb = new StringBuilder();
        String content = sb.append(file.getName())
                .append(' ')
                .append(SIMPLE_DATE_FORMAT.format(new Date(System.currentTimeMillis()))).toString();
        string2File(content, file);
        try {
            if (!file.exists()) {
                file.createNewFile();
            }
            mData.add(file);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

刪除文件

    /**
     * 刪除文件
     *
     * @param file 文件
     */
    private void deleteFile(BaseFile file) {
        try {
            file.delete();
            mData.remove(file);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }