java读取文件 16进制_Java:文件到十六进制?
小编典典
你真幸运。我几个月前不得不这样做。这是一个精简版,需要从命令行获取两个参数。命令行参数都是文件名…第一个是输入文件,第二个是输出文件。输入文件以二进制形式读取,输出文件以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:文件到十六进制?相关推荐
- java读取文件 16进制_Java对文件的16进制读取和操作
大家可以参考一下源代码的相关部分注释,然后写出自己的16进制处理程序. 有几个重点地方: 16进制字符串->10进制数 int input = Integer.parseInt ...
- java byte转16进制_Java 十六进制(Hex)与byte数组之间的转换
一.十六进制(Hex)与字节(byte)的概念 十六进制(Hex):计算机中数据的一种表示方法,它由0-9,A-F组成,字母不区分大小写.与10进制的对应关系是:0-9对应0-9:A-F对应10-15 ...
- java long转16进制_java 16进制与10进制等转换 | 学步园
/十进制转16进制 String s = "16"; String _hex = Integer.toHexString(Integer.parseInt(s)); System. ...
- java 8位16进制_Java二、八、十、十六进制介绍
1.说明 在Java中整数有四种表示方式, 分别为十进制,二进制,八进制,十六进制, 其中十进制就是平常最熟悉,使用最多的进制: 二进制是在计算机中使用最多的进制, 八进制和十六进制都是基于二进制的, ...
- Linux命令--hexdump(以16进制查看文件内容)
原文网址:Linux命令--hexdump(以16进制查看文件内容)_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Linux的tac命令的用法. hexdump用于以16进制查看文件内容 格式 h ...
- Java 字符串,byte[],16进制的字符串互转
Java 字符串,byte[],16进制的字符串互转 /** * 字符串转换成十六进制字符串 */ public static String str2HexStr(String str) { char ...
- java 中文转16进制ASCll码
java 中文转16进制ASCll码 在设置户外大屏时了解到大屏的通讯,可使用MODBUS TCP协议,因此学习了一下,发现和大屏通讯设置难度不大,还是老一套的发送16进制指令,唯一有兴趣的是中文转1 ...
- java 字符串和16进制的相互转换
说明: 在将字符串转为16进制之前先进行一次转化,先将其转化成为Unicode编码(相当于把中文用英文字符代替),在转化成为16进制 相反的,在十六进制转换为字符串后的得到的是Unicode编码,此时 ...
- C#:十六进制字节数组 转换成 字符串、字符串形式的16进制数据 转换成 十六进制字节数组
十六进制字节数组 转换成 字符串 /// <summary>/// 十六进制字节数组 转换成 字符串/// </summary>/// <returns></ ...
- java字节数组转换成16进制_Java 将字节数组转化为16进制的多种方案
很多时候我们需要将字节数组转化为16进制字符串来保存,尤其在很多加密的场景中,例如保存密钥等.因为字节数组,除了写入文件或者以二进制的形式写入数据库以外,无法直接转为为字符串,因为字符串结尾有\0,当 ...
最新文章
- 深度学习(十一)RNN入门学习
- 单片机c语言实验,单片机实验C语言编程.doc
- .NET 中依赖注入组件 Autofac 的性能漫聊
- 教程-上传应用公钥并获取支付宝公钥
- 1. jenkins常见错误及解决方法
- 64位 setupdienumdeviceinterfaces_win7 32位重装系统详细教程
- CentOS系统启动过程1-10 详细叙述
- 聊聊人像抠图背后的算法技术
- jquery表单美化组件实例
- 计算机学院部长换届答辩,未来可期,各自精彩——记计算机科学学院2020年两委换届竞职答辩活动...
- rocketMq配置外网IP
- html5基础了解---前端结构
- Spark视频王家林大神第1课: 30分钟彻底理解Spark核心API发展史:RDD、DataFrame、DataSet
- 苹果ipa 安卓apk 和APPX 安全扫码和分析平台
- 【每天更新】2022年最新WordPress主题下载,外贸独立站商城/企业网站/个人博客模板 2022-5-18
- 【Web技术】929- 前端海报生成的不同方案和优劣
- 计算机网络-拥塞控制/HTTP/URL
- 人脸识别5.1.2- insightface人脸检测模型RetinaFace-Paddle
- vue:配置其他ip地址进行跨域
- 2019全网最新SpringCloud2.0视频教程【免费学习】
热门文章
- html怎么设置内存当缓存,前端浏览器缓存怎么使用
- Android应用程序添加、删除快捷方式
- 热烈祝贺 | 方正璞华喜获“数字贸易专委会年度示范单位”殊荣及“终身荣誉会长”单位
- html脱离文档流,css固定定位脱离文档流怎么解决?
- ML(5)——神经网络1(神经元模型与激活函数)
- linux的打开文件工具,xdg-open|从Liunx终端工具打开文件系统说起
- Linux生成掩码的计算,谈子网掩码及其计算
- 文件外链PHP,php如何去除外链
- python国际象棋的价值_python – 国际象棋negamax功能
- ipad 邮箱服务器端口,ipad邮箱设置,牛排,YAHOO邮箱(后缀为yahoo