`

FileOperateTools

阅读更多


import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.net.Uri;
import android.provider.MediaStore.Images;
import android.util.Log;

public class FileOperateTools {
   
    /**
     *
     * @param context
     * @param title
     * @param fname
     * @param path
     */
    @Deprecated
    public static void saveImageToPhotos(Context context,String title,String fname,String path){
        final Uri STORAGE_URI = Images.Media.EXTERNAL_CONTENT_URI;
        final String IMAGE_MIME_TYPE = "image/png";

        ContentValues values = new ContentValues(4);
        values.put(Images.Media.TITLE, title);
        values.put(Images.Media.DISPLAY_NAME, fname);
        values.put(Images.Media.MIME_TYPE, IMAGE_MIME_TYPE);
        values.put(Images.Media.DATA, path);
       
        ContentResolver contentResolver = context.getContentResolver();
        contentResolver.insert(STORAGE_URI, values);
    }
   
    /**
     *
     * @param context
     * @param src
     * @param name
     * @param title
     * @param dir
     * @return
     */
    public static boolean saveBitmapToPhotos(Context context,Bitmap src,String name,String title,File dir){
        File f=new File(dir,name);
        try {
            if(!f.exists()) {
                f.createNewFile();
            }
            OutputStream os=new FileOutputStream(f);
            src.compress(CompressFormat.JPEG, 50, os);
           
            //saveImageToDb("VcDownload"+id, fn, f.getAbsolutePath());
            //Write info. to Database
            final Uri STORAGE_URI = Images.Media.EXTERNAL_CONTENT_URI;
            final String IMAGE_MIME_TYPE = "image/png";

            ContentValues values = new ContentValues(4);
            values.put(Images.Media.TITLE, title);
            values.put(Images.Media.DISPLAY_NAME, name);
            values.put(Images.Media.MIME_TYPE, IMAGE_MIME_TYPE);
            values.put(Images.Media.DATA, f.getAbsolutePath());
           
            ContentResolver contentResolver = context.getContentResolver();
            Uri dataUri = contentResolver.insert(STORAGE_URI, values);
           
            return true;
        } catch (IOException e) {
            e.printStackTrace();
            return false;
        }
       
    }
   
   
   
   
    public static int  ExtractFromApk(Context mCon,String sourceDir,String destDir, boolean replace) {
        ZipFile zipFile = null ;
        File src_dir =new File(mCon.getApplicationInfo().sourceDir);
       
       
        Log.v("Test", "src_dir="+src_dir);
       
        File dest_dir=new File(destDir);
       
        if(!src_dir.exists() || !dest_dir.exists()){
            return -1;
        }
       
       
       
       
//        if ( targetPathFile.exists() ) {
//            if (!isForceMove ) {
//                //根文件夹存在 且不强制移动 不移动文件
//                return targetPath;
//            }else{
//                FileUtils.deleteQuietly( targetPathFile );
//            }
//        }
        int f_n=0;
        try {
           
            int BUFFER=1024;
           
            //targetPathFile.mkdir();
            zipFile = new ZipFile(src_dir);
            Enumeration<?> emu = zipFile.entries();
            int currentByte;
           
            int sdl=sourceDir.length();
            while (emu.hasMoreElements()) {
                ZipEntry entry = (ZipEntry) emu.nextElement();
                String ename = entry.getName();
                if (ename.startsWith(sourceDir) && !entry.isDirectory()) {
                   
                    String nnn=ename.substring(sdl);
                    File destFile = new File(dest_dir, nnn.length()>0?("/" + nnn):nnn);
                   
                    File destinationParent = destFile.getParentFile();
                    if( !destinationParent.exists() ){
                        destinationParent.mkdirs();
                    }
                    BufferedInputStream is = new BufferedInputStream( zipFile.getInputStream( entry ) , BUFFER  );
                    byte data[] = new byte[BUFFER];
                    FileOutputStream fos = new FileOutputStream(destFile);
                    BufferedOutputStream dest = new BufferedOutputStream(fos, BUFFER);
                    while ((currentByte = is.read(data, 0, BUFFER)) != -1) {
                        dest.write(data, 0, currentByte);
                    }
                    dest.flush();
                    dest.close();
                    is.close();
                    f_n++;
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
            return -1;
        }
        return f_n;
   
    }

}

分享到:
评论

相关推荐

    数据库实验.py

    数据库实验.py

    机器学习技术对心电图 (ECG) 信号进行分类matlab代码.zip

    1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    学会学习心理课拒绝诱惑:自制力培养手册.docx

    学会学习心理课拒绝诱惑:自制力培养手册.docx

    基于matlab+Simulink模拟的微电网系统包括包括电源、电力电子设备等+源码+开发文档(毕业设计&课程设计&项目开发)

    基于matlab+Simulink模拟的微电网系统包括包括电源、电力电子设备等+源码+开发文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 项目简介: 这是一个完整的微电网模型,包括电源、电力电子设备、使用MatLab和Simulink的负载和电源模型。该模型基于费萨尔·穆罕默德的硕士论文《微网格建模与仿真》。 什么是微电网 模拟的微电网使用一组电源和负载在与任何集中式电网(宏电网)断开连接的情况下工作,并自主运行,为其局部区域提供电力。该仿真对微电网在稳态下进行建模,以分析其对输入变化的瞬态响应。 此模拟的目的 对系统进行全年模拟,测量负载、产量、电压和频率。 给出简化规划和资源评估阶段的方法。

    Translucent Image - Fast Blurred Background UI v4.4.1

    Unity插件 Translucent Image 可帮助你构建精美的模糊背景 UI,例如在 iOS/MacOS/Windows 10 Fluent 设计中的 UI。 与许多其他背景模糊解决方案不同,Translucent Image 采用一种对性能影响最小的高效算法,因此用户可以享受更高的帧速率和更长的电池寿命。不仅如此,当你将模糊调高时,它还可以产生完美的平滑效果,而其它资源在高度模糊时会呈现难看的块状图像。

    基于卷积神经网络的人脸识别(包括数据集)

    基于卷积神经网络的人脸识别卷积神经网络(Convolutional Neural Networks, CNNs 或 ConvNets)是一类深度神经网络,特别擅长处理图像相关的机器学习和深度学习任务。它们的名称来源于网络中使用了一种叫做卷积的数学运算。以下是卷积神经网络的一些关键组件和特性: 卷积层(Convolutional Layer): 卷积层是CNN的核心组件。它们通过一组可学习的滤波器(或称为卷积核、卷积器)在输入图像(或上一层的输出特征图)上滑动来工作。 滤波器和图像之间的卷积操作生成输出特征图,该特征图反映了滤波器所捕捉的局部图像特性(如边缘、角点等)。 通过使用多个滤波器,卷积层可以提取输入图像中的多种特征。 激活函数(Activation Function): 在卷积操作之后,通常会应用一个激活函数(如ReLU、Sigmoid或tanh)来增加网络的非线性。 池化层(Pooling Layer): 池化层通常位于卷积层之后,用于降低特征图的维度(空间尺寸),减少计算量和参数数量,同时保持特征的空间层次结构。 常见的池化操作包括最大池化(Max Pooling)和平均

    基于java进行的软件测试实验代码.zip

    基于java进行的软件测试实验代码.zip

    【优化求解】遗传算法求解多城市多应急物流中心选址问题【含Matlab源码 1724期】.zip

    【优化求解】遗传算法求解多城市多应急物流中心选址问题【含Matlab源码 1724期】.zip

    结构型设计模式(7种)

    结构型设计模式(7种)

    课设毕设基于SpringBoot+Vue的旧物置换网站 LW+PPT+源码可运行.zip

    课设毕设基于SpringBoot+Vue的旧物置换网站 LW+PPT+源码可运行.zip

    微信小程序源码 健康饮食助手 健康菜谱app 下载

    健康菜谱App是一款专为追求健康饮食生活的用户设计的应用程序。它提供了一系列精心挑选的营养食谱,旨在帮助用户做出美味又健康的餐点。以下是健康菜谱App的核心特点: 丰富食谱库:包含数百种健康食谱,涵盖早餐、午餐、晚餐及小吃等。 营养信息标注:每道食谱都配有详细的营养信息,包括卡路里、蛋白质等。 个性化推荐:根据用户的饮食习惯和健康目标,智能推荐合适的菜谱。 食材替换建议:提供食材替换选项,帮助用户根据自己的口味和需求调整食谱。 一键购物清单:自动生成购物清单,方便用户购买所需食材。 步骤图解:每道食谱都配有清晰的步骤图解,即使是烹饪新手也能轻松上手。 社区分享功能:用户可以在社区中分享自己的烹饪成果,交流烹饪心得。 无广告干扰:提供无广告的用户体验,让用户专注于烹饪和享受美食。 健康菜谱App是健康饮食追求者的得力助手,无论是健身爱好者、素食主义者还是普通家庭,都能找到适合自己的健康食谱。立即下载健康菜谱App,开启健康饮食新篇章!

    课设毕设基于SpringBoot+Vue的职称评审管理系统 LW+PPT+源码可运行.zip

    课设毕设基于SpringBoot+Vue的职称评审管理系统 LW+PPT+源码可运行.zip

    MikelProjectDemo-dev.zip

    MikelProjectDemo-dev

    基于 SpringBoot 开发的超简洁音乐播放器.zip

    基于springboot的java毕业&课程设计

    HUWEI eNSP课程作业

    HUWEI eNSP课程作业

    基于SpringBoot、SSH和Redis的NBA论坛网站.zip

    基于springboot的java毕业&课程设计

    基于SpringBoot的Java旅游APP.zip

    基于springboot的java毕业&课程设计

    微信小程序设计-教育培训.rar

    微信小程序设计之相关行业源码及图文导入教程

    Unity完整小游戏-贪吃蛇(Unity 2D实现版)

    在 Unity 中创建一个简单的“贪吃蛇”游戏是一个很好的练习项目,可以帮助理解 Unity 的基本组件和工作流程。要在Unity中实现一个完整的2D贪吃蛇游戏,需要遵循一系列步骤来创建游戏场景、角色、食物、游戏逻辑和用户界面。

    基于SpringBoot + Vue的电影售票及影院管理系统.zip

    基于springboot的java毕业&课程设计

Global site tag (gtag.js) - Google Analytics