java读取二进制文件传给nodejs保存

java:

package com.iofamily.app;

import java.io.File;
import com.iofamily.util.FileUtils;

/**
 * @author lmiky
 * @date 2013-11-7
 */
public class Test {

	/**
	 * 字节转为16进制
	 * @author lmiky
	 * @date 2014-5-14
	 * @param src
	 * @return
	 */
	public static String bytesToHexString(byte[] src) {
		StringBuilder stringBuilder = new StringBuilder("");
		if (src == null || src.length <= 0) {
			return null;
		}
		for (int i = 0; i < src.length; i++) {
			int v = src[i] & 0xFF;
			String hv = Integer.toHexString(v);
			if (hv.length() < 2) {
				stringBuilder.append(0);
			}
			stringBuilder.append(hv);
		}
		return stringBuilder.toString();
	}

	public static void main(String[] args) throws Exception {
		String sourceFile = "D:/test.jpg";
		File file = new File(sourceFile);
		byte[] bytes = FileUtils.readFile(file);
		String hexStr = bytesToHexString(bytes);
		System.out.println(hexStr);
	}
}


nodejs:

var utils = require('./utils');
var fs = require('fs');

var fileUtils = module.exports;

/**
 * 将文件二进制数据转成文件
 * @param fileBytesHex 读取文件为2进制数据后转为16进制字符串
 * @param fileName
 * @param cb
 */
fileUtils.parseByteToFile = function(fileBytesHex, fileName, cb) {
	fs.writeFile(fileName, new Buffer(fileBytesHex, 'hex'), function(err) {
		utils.invokeCallback(cb, err);
	});
}



你可能感兴趣的:(java读取二进制文件传给nodejs保存)