最近写一程序遇到难题求教各位,关于数据二进制的问题(100分)

wx358165717 2010-10-04 11:41:49
问题具体是我想度曲文件的时候显示的是保存在硬盘上的0101010
求教各位怎么样用java实现 谢谢
...全文
106 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
龙四 2010-10-06
  • 打赏
  • 举报
回复
jdk1.7将会支持


[Quote=引用 10 楼 wx358165717 的回复:]

那有什么语言支持原生二进制常数量的
?
谢谢楼上
[/Quote]
wx358165717 2010-10-05
  • 打赏
  • 举报
回复
那有什么语言支持原生二进制常数量的
?
谢谢楼上
  • 打赏
  • 举报
回复
请详细描述你的问题!
龙四 2010-10-04
  • 打赏
  • 举报
回复
你获取一个byte后,再转换成二进制的字符串形式就可以了

因为java暂时并不原生支持二进制数常量,所以必须用字符串来表示

[Quote=引用 8 楼 wx358165717 的回复:]

.getbyte? 也没有做出来啊我尝试过了
[/Quote]
wx358165717 2010-10-04
  • 打赏
  • 举报
回复
.getbyte? 也没有做出来啊我尝试过了
xingyunliushui1 2010-10-04
  • 打赏
  • 举报
回复
你用字节流读取它的 就可以了
wx358165717 2010-10-04
  • 打赏
  • 举报
回复
希望有人可以给出最底层读取硬盘的java的方法
wx358165717 2010-10-04
  • 打赏
  • 举报
回复
谢谢楼上兄弟们的解答
但是还有距离哦
那代码部分我也有比较类似的部分
还不是我想要的
我需要的就只是硬盘上保存的01 前面以为兄弟的说法有理解了
继续哦

结束了以后就送分啦
andycpp 2010-10-04
  • 打赏
  • 举报
回复
        try {
FileInputStream file = new FileInputStream("d:/a.txt");
int b = file.read();
String s = null;
while(b!=-1) {
s = String.format("%1$8s", Integer.toBinaryString(b)).replaceAll(" ", "0");
System.out.printf(s+" ");
b = file.read();
}
} catch (Exception e) {
e.printStackTrace();
}
Inhibitory 2010-10-04
  • 打赏
  • 举报
回复
不管是什么文件,保存在硬盘上都是二进制的。
查看二进制很简单,例如使用getInt(),然后把int的值转换成一个32位的2进制数据就可以了。
只是可以直接读取int,char等,是因为文件读流给你包装好了,在真正的最低层读取到的还是101110等二进制数据。
wx358165717 2010-10-04
  • 打赏
  • 举报
回复
查看文件保存在硬盘上的内容 二进制的 0101001010
或者可以把文件转为二进制 1010101

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧