小编典典

你真幸运。我几个月前不得不这样做。这是一个精简版,需要从命令行获取两个参数。命令行参数都是文件名…第一个是输入文件,第二个是输出文件。输入文件以二进制形式读取,输出文件以ASCII十六进制形式写入。希望您可以根据自己的需要进行调整。

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileWriter;

import java.io.IOException;

public class BinToHex

{

private final static String[] hexSymbols = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };

public final static int BITS_PER_HEX_DIGIT = 4;

public static String toHexFromByte(final byte b)

{

byte leftSymbol = (byte)((b >>> BITS_PER_HEX_DIGIT) & 0x0f);

byte rightSymbol = (byte)(b & 0x0f);

return (hexSymbols[leftSymbol] + hexSymbols[rightSymbol]);

}

public static String toHexFromBytes(final byte[] bytes)

{

if(bytes == null || bytes.length == 0)

{

return ("");

}

// there are 2 hex digits per byte

StringBuilder hexBuffer = new StringBuilder(bytes.length * 2);

// for each byte, convert it to hex and append it to the buffer

for(int i = 0; i < bytes.length; i++)

{

hexBuffer.append(toHexFromByte(bytes[i]));

}

return (hexBuffer.toString());

}

public static void main(final String[] args) throws IOException

{

try

{

FileInputStream fis = new FileInputStream(new File(args[0]));

BufferedWriter fos = new BufferedWriter(new FileWriter(new File(args[1])));

byte[] bytes = new byte[800];

int value = 0;

do

{

value = fis.read(bytes);

fos.write(toHexFromBytes(bytes));

}while(value != -1);

fos.flush();

fos.close();

}

catch(Exception e)

{

e.printStackTrace();

}

}

}

2020-11-01

java读取文件 16进制_Java:文件到十六进制?相关推荐

  1. java读取文件 16进制_Java对文件的16进制读取和操作

    大家可以参考一下源代码的相关部分注释,然后写出自己的16进制处理程序. 有几个重点地方: 16进制字符串->10进制数          int input = Integer.parseInt ...

  2. java byte转16进制_Java 十六进制(Hex)与byte数组之间的转换

    一.十六进制(Hex)与字节(byte)的概念 十六进制(Hex):计算机中数据的一种表示方法,它由0-9,A-F组成,字母不区分大小写.与10进制的对应关系是:0-9对应0-9:A-F对应10-15 ...

  3. java long转16进制_java 16进制与10进制等转换 | 学步园

    /十进制转16进制 String s = "16"; String _hex = Integer.toHexString(Integer.parseInt(s)); System. ...

  4. java 8位16进制_Java二、八、十、十六进制介绍

    1.说明 在Java中整数有四种表示方式, 分别为十进制,二进制,八进制,十六进制, 其中十进制就是平常最熟悉,使用最多的进制: 二进制是在计算机中使用最多的进制, 八进制和十六进制都是基于二进制的, ...

  5. Linux命令--hexdump(以16进制查看文件内容)

    原文网址:Linux命令--hexdump(以16进制查看文件内容)_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Linux的tac命令的用法. hexdump用于以16进制查看文件内容 格式 h ...

  6. Java 字符串,byte[],16进制的字符串互转

    Java 字符串,byte[],16进制的字符串互转 /** * 字符串转换成十六进制字符串 */ public static String str2HexStr(String str) { char ...

  7. java 中文转16进制ASCll码

    java 中文转16进制ASCll码 在设置户外大屏时了解到大屏的通讯,可使用MODBUS TCP协议,因此学习了一下,发现和大屏通讯设置难度不大,还是老一套的发送16进制指令,唯一有兴趣的是中文转1 ...

  8. java 字符串和16进制的相互转换

    说明: 在将字符串转为16进制之前先进行一次转化,先将其转化成为Unicode编码(相当于把中文用英文字符代替),在转化成为16进制 相反的,在十六进制转换为字符串后的得到的是Unicode编码,此时 ...

  9. C#:十六进制字节数组 转换成 字符串、字符串形式的16进制数据 转换成 十六进制字节数组

    十六进制字节数组 转换成 字符串 /// <summary>/// 十六进制字节数组 转换成 字符串/// </summary>/// <returns></ ...

  10. java字节数组转换成16进制_Java 将字节数组转化为16进制的多种方案

    很多时候我们需要将字节数组转化为16进制字符串来保存,尤其在很多加密的场景中,例如保存密钥等.因为字节数组,除了写入文件或者以二进制的形式写入数据库以外,无法直接转为为字符串,因为字符串结尾有\0,当 ...

最新文章

  1. 深度学习(十一)RNN入门学习
  2. 单片机c语言实验,单片机实验C语言编程.doc
  3. .NET 中依赖注入组件 Autofac 的性能漫聊
  4. 教程-上传应用公钥并获取支付宝公钥
  5. 1. jenkins常见错误及解决方法
  6. 64位 setupdienumdeviceinterfaces_win7 32位重装系统详细教程
  7. CentOS系统启动过程1-10 详细叙述
  8. 聊聊人像抠图背后的算法技术
  9. jquery表单美化组件实例
  10. 计算机学院部长换届答辩,未来可期,各自精彩——记计算机科学学院2020年两委换届竞职答辩活动...
  11. rocketMq配置外网IP
  12. html5基础了解---前端结构
  13. Spark视频王家林大神第1课: 30分钟彻底理解Spark核心API发展史:RDD、DataFrame、DataSet
  14. 苹果ipa 安卓apk 和APPX 安全扫码和分析平台
  15. 【每天更新】2022年最新WordPress主题下载,外贸独立站商城/企业网站/个人博客模板 2022-5-18
  16. 【Web技术】929- 前端海报生成的不同方案和优劣
  17. 计算机网络-拥塞控制/HTTP/URL
  18. 人脸识别5.1.2- insightface人脸检测模型RetinaFace-Paddle
  19. vue:配置其他ip地址进行跨域
  20. 2019全网最新SpringCloud2.0视频教程【免费学习】

热门文章

  1. html怎么设置内存当缓存,前端浏览器缓存怎么使用
  2. Android应用程序添加、删除快捷方式
  3. 热烈祝贺 | 方正璞华喜获“数字贸易专委会年度示范单位”殊荣及“终身荣誉会长”单位
  4. html脱离文档流,css固定定位脱离文档流怎么解决?
  5. ML(5)——神经网络1(神经元模型与激活函数)
  6. linux的打开文件工具,xdg-open|从Liunx终端工具打开文件系统说起
  7. Linux生成掩码的计算,谈子网掩码及其计算
  8. 文件外链PHP,php如何去除外链
  9. python国际象棋的价值_python – 国际象棋negamax功能
  10. ipad 邮箱服务器端口,ipad邮箱设置,牛排,YAHOO邮箱(后缀为yahoo