99问答网
所有问题
java IO流读取2进制文件时 一个byte 显示是 -35 , 这个byte中的内容实际是16进制的 'DD'
16进制的'DD' 10进制是221 怎么将这个-35 转化为 221 , 类似这种转化 哪位大神可以提供下方法
举报该问题
推荐答案 2015-01-26
-35是16进制的0xffffffdd
你的二进制文件byte实际上是char型,因此需要进行由char至int的类型提升,由于你这个byte的值为0Xdd(221),根据数据宽度扩展时符号位的扩展规则,它会被扩展为(int)0XFFFFFFDD(也就是-35),
如果想把-35转换为221,用以下方法:
System.out.println(-35&0xff);
就可以转换为你要的结果
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/WWWWBjj7zeBO7veBejj.html
其他回答
第1个回答 2015-01-27
对不起,上次的答案有问题,你用下面的这段代码试试,我这边是没有问题,可以将一个二进制文件里面的对应的打印出来了。
for (int i =0; i <32; i++) {
int w = bufb[i] & 0xFF;
System.out.println(Integer.toHexString(w));
}
相似回答
在
Java中的io流中,
read
读取文件时,读取
完了没有了返回-
1,
(为什么不...
答:
返回-1是对的啊,read字节数组的时候,读到最后一个没有的时候就数组越界异常,-1就是不在数组的索引值范围内,所以开发人员就将它作为read完成后的返回值
java
串口通信中怎样以
十六进制
数发送
答:
使用:out.write(HexString2Bytes("1234"));那么读取到的还是1234。
16进制
字符串转化为
byte
数组的方法为:public static byte[] HexString2Bytes(String src) { if (null == src || 0 == src.length()) { return null;} byte[] ret = new byte[src.length() / 2];byte[] tmp = src....
Java中
取出
一个字节,
如何判断这一个字节是否是一个汉字
中的
一部分
答:
public class Test{public static void main(String[] args) {String a = new String("hw,mmmm字符串");
byte
[] b = a.getBytes();for(int i = 0,m=b.length;i<m;i++){if(b[i] >= 0 && b[i] <=127){//10进制ascill表0到127System.out.println(b[i]+":我是字母数字或者...
java的io流
包装数据为什么用
byte
类型数组。
答:
1、ASCII码:一个英文字母(不分大小写)占
一个字节的
空间,一个中文汉字占两个字节的空间。一个
二进制
数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值-128,最大值127。如一个ASCII码就是一个字节。2、UTF-8编码:一个英文字符等于
一个字节,
一个中文(含繁体...
java
IO流中,
如何判断
一个
文本是不是空的?
答:
import
java
.io.*;public class test{ public static void main(String args[]) throws Exception{ FileInputStream fin=new FileInputStream("F:\\sample.txt");
byte
[] by=new byte[1000]; int size=fin.available(); if(size==0){ System.out.println("文件为空!!")...
IOException这是个什么异常
java
答:
=。=|
IO流
异常。一般在读写数据的时候会出现这种问题。java内部数据的传输都是通过流,或者
byte
来进行传递的。就行一个文本文件。你可以通过in流写入到
java中,
同时也可以通过out流从java(计算机内存中)返还给具体的文件。
java
io流
如何
读取文件
效率高
答:
你在类的使用上不太恰当。如果你想读取文本内容,你应该使用InputStreamReader这个类,使用这个类并且指定文本内容的字符集,就可以读出正确
的内容
。InputStream这个类是用来
读取二进制字节的
,比如做文件复制的时候,应该是用InputStream这个类。不管是InputStreamReader还是InputStream,都可以声明临时缓冲数组,...
Java
如何自定义的
byte
[]数组写入
文件
答:
FileOutputStream.write(
byte
[] bytes)写入文件
的是二进制
码,你写入
二进制1
和0是不可见字符,必须用二进制/
16进制文件
格式打开才可以看到,
java中
输入流去
读取文件时
为什么要创建
一个
缓存数组
答:
是这样在使用I/O流的时候,可以分为三种情况:1、每次
读取1个字节
。2、每次读取定义的数组长度字节。3、每次读取一行。刚开始学I/O流的时候会先让你看,1有多麻烦,还是用2比较简单。之后会涉猎到3,因为3才是最常用的,但是需要进行转换。
大家正在搜
相关问题
java io流 文件传输的二进制问题
java中,怎样用IO流把任意路径的任意文件的字节读取成二进...
java的io流包装数据为什么用byte类型数组。
JAVA IO流中的字节流字符流的适用场合区别
Java 读取二进制文件 ,读八个字节,然后转换成一个dou...
java字节流,字符流问题怎么判断一个文件要用字节流还是用字...
java中如何读取输入流中一段固定长度的字节保存成一个文件?
java中为什么输出输入的时候,为什么要把字节流转换成字符流...