草庐IT

$二进制

全部标签

java - 在 Java 7 中删除二进制文件的一部分的最佳方法是什么

即我有一个10mb的文件,我想删除1M到2M的字节,所以生成的文件是9mb,文件中的数据从2m字节开始,现在从1M开始我使用Java7,因此可以使用NIO,文件通常大小为10MB,并且经常通过网络访问,因此我正在寻找一个性能良好的优雅解决方案。我知道BteBuffer.allocateDirect()和File.getChannel()但我正在努力解决是否有办法做我想做的事情,而不涉及必须从文件channel写入8MB到临时缓冲区只是为了将它写回到不同位置的文件中,或者如果使用allocateDirect()这实际上没问题 最佳答案

java - 为什么这个十六进制值得到不同的十进制值?

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭3年前。Improvethisquestion我想使用十六进制值动态设置一个整数变量,但是当我使用Integer.parse(hexValue,16)时,它得到的值不同于设置为inta=0x04A7D488例如:inta=0x04A7D3B8;System.out.println("a="+a);//prints78107576intb=Int

java - 从 InputStream 读取文本和二进制数据

这个问题在这里已经有了答案:ReadfromInputStreaminmultipleformats(3个答案)关闭8年前。我正在尝试从二进制流中读取数据,其中的一部分应该被解析为UTF-8。直接对二进制数据使用InputStream并在它上面对UTF-8文本使用InputStreamReader是行不通的,因为阅读器会提前阅读并弄乱后续二进制数据,即使它被告知最多读取n个字符。我认识到这个问题与ReadfromInputStreaminmultipleformats非常相似,但那里提出的解决方案是特定于HTTP流的,这对我没有帮助。我想到的只是将所有内容都读取为二进制数据,然后将相关

java - 如何将二进制文件存储在 sql 数据库中?

我有一个用于存储excel文件的varbinary列。我需要使用当前在我的文件系统上的另一个xls文件的内容更新此列。给定一个java.sql.Connection,我应该如何更新行?我们使用的是sqlserver2005。 最佳答案 我最终做了以下事情:PreparedStatementst=conn.prepareStatement("updateMyTablesetbinaryData=?whereid=9");st.setBinaryStream(1,newFileInputStream(file),(int)file.le

java - 合并两个完美的二进制堆?

我在一个问题上停留了一段时间,想知道是否有人可以指出正确的方向:Supposebinaryheapsarerepresentedusingapointer-basedtreerepresentationinsteadofanarray.ConsidertheproblemofmergingbinaryheapLHSwithRHS.Assumebothheapsarefullcompletetrees,containing(2^L-1)and(2^R-1)nodes,respectively.GivetwoO(logN)algorithmstomergethetwoheaps,oneif

java - 从二进制文件中读取结构化数据 -?

我知道文件结构,假设这个结构是这样的:[3-byteslongint],[1-bytelongunsignedinteger],[4-byteslongunsignedinteger]因此该文件包含此类记录的链。用Java解析此类文件最优雅的方法是什么?假设我们可以定义一个全长的byte[]数组并用InputStream读取它,但是如何将它的子元素转换成正确的整数值呢?首先,java中的字节值是有符号的,在我们的例子中我们需要无符号值。接下来,是否有有用的方法允许将字节子数组(例如,从第1到第4的字节)转换为正确的整数值?我肯定知道,Perl中有pack和unpack函数,它们允许您将

java - java源代码/二进制格式是什么意思?

Java中的源/二进制格式是什么意思?它是什么?此属性出现在netbeans项目的属性/源类别中。 最佳答案 意味着如果您正在处理一个必须与JDK7、6、5兼容的项目...以便IDE可以识别代码中不受支持的功能。IDE将使用适当的-source和-target选项进行编译。 关于java-java源代码/二进制格式是什么意思?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/147

java - 在java中将二维二进制矩阵转换为黑白图像

我是java新手。我现在有只有1和0的二维二进制矩阵。我想将它保存为具有相同宽度和高度的jpg图像(黑白)。我怎么会意识到这一点?我尝试了下面的代码但失败了,说“java.lang.IllegalArgumentException:image==null!”请帮助我或给我更好的解决方案。非常感谢。publicstaticvoidmain(String[]args)throwsIOException{//resultisdouble[25][33]binarymatrixwithonly1sand0s;intheight=result.length;intwidth=result[0].

Java 十六进制

我有一个消息staticint[]message={0x01,0x10,0x00,0x01,//portaddres01-080x00,0x01,0x02,0x06,0x00,0xA4,0x21};我知道数据是正确的,因为我正在使用RXTX将它们写入COM端口,并且我得到了正确的硬件react我知道0x01是1值,送的真像01(两位,四分之一字节长)当我需要调整消息时,这样生成值对吗?message[index]=1&0xff我看到了这段代码的输出,它看起来很正常for(inti=0;i有没有推荐我阅读的表格?将这些数字存储在int中对,因为我们不能使用byte(-128,+127)对

java - 如何将整数值转换为十进制值?

我有一个整数值:Integervalue=56472201;值可以是正数或负数。当我将该值除以1000000时,我希望得到56.472201形式的结果,但它只给出商。我怎样才能同时获得商值和余数? 最佳答案 将其转换为float然后执行:inti=56472201;floatj=((float)i)/1000000.0编辑:由于精度(您的情况需要),请使用double。同样正如KonradRudolph所指出的,不需要显式转换:doublej=i/1000000.0; 关于java-如何