Java实现函数:

String strpath = "/storage/emulated/0/DCIM/" +  i + "output.yuv";

boolean isInfiel= writeFile(strpath, frameData);

public boolean writeFile(String path, byte[] data) {
            FileOutputStream out = null;
            try {
                File file = new File(path);
                File parent = file.getParentFile();
                if (parent != null && !parent.exists())
                    parent.mkdirs();
                if (!file.exists()){
                    boolean isok    =  file.createNewFile();
                   out = new FileOutputStream(path);
                   out.write(data);
                   FileDescriptor fd = out.getFD();
                   fd.sync();
                return true;
                }
            } catch (Exception e) {
                e.printStackTrace();

            } finally {
                try {
                    if (out != null)
                        out.close();
                } catch (Exception e) {
                }
            }
            return false;
        }

C++实现函数:

static void dumpYuvToFile(const int width, const int height, void *yBuf, void *uvBuf ) {
    static int i = 0;
    char buf[256] = { '\0' };
    LOGE(" dumpYuvToFile(): i is %d", i);
    snprintf(buf, sizeof(buf), "/data/misc/media/_%d_%d_%d.yuv",  width, height, i);
    FILE* file_fd = fopen(buf, "wb");
    if (file_fd != NULL) {
        void *data = NULL;
        int written_len = 0;
        data = (void *) ((uint8_t *) yBuf);
        written_len += fwrite(data, width * height, 1, file_fd);
        if (NULL == uvBuf)
            data = (void *) ((uint8_t *) yBuf + width * height);
        else
            data = (void *) ((uint8_t *) uvBuf);
        written_len += fwrite(data, width * height / 2, 1, file_fd);
        fclose(file_fd);
        LOGE("%s: dumpYuvToFile(): -------sucess", __func__);
    } else {
        LOGE("%s:dumpYuvToFile(): fail t open file for image dumping", __func__);
    }
    i++;
}

(Java和C++)二进制date数据写进android保存为yuv格式的更多相关文章

  1. Java将数据写进excel

    Java将数据写进excel Java将数据写进excel class User { private String name ; private String password; public Use ...

  2. 78)PHP,编写session存储机制(将数据写进数据库)的代码整理(未实验)

    <?php function userSessionBegin() { echo '<br>Begin<br>'; //初始化数据库服务器连接,这个函数是最先执行,所以, ...

  3. java 将数据写进文件

    /*每次只写入一行数据 只需要调用特定的方法即可.*/package com.second.File;import java.io.*;/** * Created by hasee on 2016/1 ...

  4. c#逐行分元素读取记事本txt数据写进数据库

    其实这里最关键的一个方法是 StreamReader类里的 ReadLine();这个方法可以逐行读取txt流里面的数据.写了个简单的demo,已经加上了详细的注释说明.   ok,好了,不废话,下面 ...

  5. python2/3中 将base64数据写成图片,并将图片数据转为16进制数据的方法、bytes/string的区别

    1.python2将base64数据写成图片,并将数据转为16进制字符串的方法 import binascii img = u'R0lGODlhagAeAIcAAAAAAAAARAAAiAAAzABE ...

  6. Java中的二进制及基本的位运算

    Java中的二进制及基本的位运算 二进制是计算技术中广泛采用的一种数制.二进制数据是用0和1两个数码来表示的数.它的基数为2,进位规则是"逢二进一",借位规则是"借一当二 ...

  7. Java 使用stringTemplate导出大批量数据excel(百万级)

    目前java框架中能够生成excel文件的的确不少,但是,能够生成大数据量的excel框架,我倒是没发现,一般数据量大了都会出现内存溢出,所以,生成大数据量的excel文件要返璞归真,用java的基础 ...

  8. Java并发编程:用AQS写一把可重入锁

    Java并发编程:自己动手写一把可重入锁详述了如何用synchronized同步的方式来实现一把可重入锁,今天我们来效仿ReentrantLock类用AQS来改写一下这把锁.要想使用AQS为我们服务, ...

  9. iOS—网络实用技术OC篇&网络爬虫-使用java语言抓取网络数据

    网络爬虫-使用java语言抓取网络数据 前提:熟悉java语法(能看懂就行) 准备阶段:从网页中获取html代码 实战阶段:将对应的html代码使用java语言解析出来,最后保存到plist文件 上一 ...

随机推荐

  1. Day16_集合第二天

    1.LinkedList类(掌握) 1.特点 底层数据结构是链表,查询慢,增删快 线程不安全,效率高. LinkedList 成员方法 void addFirst(Object o) 添加 void ...

  2. JSP 动作元素

    JSP动作元素 1.  动作元素分类 用来动态的包含文件.网页跳转及使用JavaBean组件等. 语法:<jsp:XXX />或者<jsp:XXX></jsp:XXX&g ...

  3. EXTJS信息提示框的注意事项

    1.申明html:弹出框不完整 申明xhtml 2.当非必须参数不需要设定,而后续需要设置参数时,可设置为null. Ext.onReady(){ function(){ Ext.Message.pr ...

  4. find命令学习

    find命令与locate命令的区别: locate: 非实时查找: 依赖于索引,而索引构建非常占用资源,索引的创建是在系统空闲时系统自动进行,可以用updatedb命令更新索引: 查找速度快: 非精 ...

  5. Spring源码学习之:ClassLoader学习(2)

    转载:http://longdick.iteye.com/blog/332580 大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个 ...

  6. Windows 10 error code 0x80072efd

    访问windows 10 store出现如下图的错误: 如果你是宽带连接,删掉现在的连接,新建一个同样的宽带连接就OK了. 哎,这个问题导致我半个月没上去Windows Store,我还真以为微软有问 ...

  7. mac10.9+php5.5.15+brew0.9.5的安装

      Brew 是 Mac 下面的包管理工具,通过 Github 托管适合 Mac 的编译配置以及 Patch,可以方便的安装开发工具. Mac 自带ruby 所以安装起来很方便,同时它也会自动把git ...

  8. coderforces719b

    题目大意:给定一个字符串,这个字符串中只有“r”和"b"组成,每次操作只能交换两个字符的位置或者将一个字符由"r"变"b"(或由" ...

  9. (C# Binary Tree) 基本概念和算法

    A binary tree is defined as a tree where each node can have no more than two children. Building a Bi ...

  10. IOS开发中的几种设计模式介绍

    ios开发学习中,经常弄不清楚ios的开发模式,今天我们就来进行简单的总结和探讨~ (一)代理模式 应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现. 优势:解耦合 敏捷 ...