jjzjj

dataoutputstream

全部标签

java - 在 PHP 中从 Java DataOutputStream 读取二进制数据时的整数格式是什么?

我知道这可能不是最好的主意,但我一直在尝试读取使用Java的DataOutputStream编码的PHP文件。具体来说,在Java中我使用:dataOutputStream.writeInt(number);然后在PHP中我使用以下方法读取文件:$data=fread($handle,4);$number=unpack('N',$data);奇怪的是,PHP中唯一给出正确值的格式字符是“N”,它应该表示“unsignedlong(总是32位,大端字节顺序)”。我以为java中的int总是有符号的?是否有可能以这种方式可靠地读取用Java编码的数据?在这种情况下,整数只需要为正数。它可能

java - 如何 append 到 Java 中的 DataOutputStream?

我希望我的程序一次保存一个URL地址到一个文件中。这些地址需要以UTF格式保存以确保它们是正确的。我的问题是文件一直被覆盖,而不是append:DataOutputStreamDOS=newDataOutputStream(newFileOutputStream(filen,true));Count=0;if(LinkToCheck!=null){System.out.println(System.currentTimeMillis()+"SaveURL_ToRelatedURLSd"+LinkToCheck.Get_SelfRelationValue()+"vs"+Class_Con

java - BCECPublicKey 到指纹

当连接到"new"SSH服务器时,使用命令行,将显示一个指纹:Theauthenticityofhost'test.com(0.0.0.0)'can'tbeestablished.ECDSAkeyfingerprintisSHA256:566gJgmcB43EXimrT0exEKfxSd3xc7RBS6EPx1XZwYc.Areyousureyouwanttocontinueconnecting(yes/no)?我知道指纹是公钥的SHA256哈希值的Base64字符串。我知道如何使用RSAPublicKey生成此指纹:RSAPublicKeypublicKey=...;ByteArra

java - DataInputStream\DataOutputStream 的性能

我目前正在使用缓冲流来读写一些文件。在这两者之间,我做了一些数学处理,其中一个符号是一个字节。阅读:InputStreaminput=newFileInputStream(outputname)input.read(byte[]b,intoff,intlen)写:OutputStreamoutput=newBufferedOutputStream(newFileOutputStream(outputname),OUTPUTBUFFERSIZE)output.write((byte)byteinsideaint);现在我需要添加一些标题数据,并支持短符号。我想使用DataInputStr

java - DataOutputStream#writeBytes(String) 与 BufferedWriter#write(String)

我想为我的报告创建一个HTML文件。报告中的内容可以通过使用BufferedWriter#write(String)创建Filef=newFile("source.htm");BufferedWriterbw=newBufferedWriter(newFileWriter(f));bw.write("Content");或使用DataOutputStream#writeBytes(String)Filef=newFile("source.htm");DataOutputStreamdosReport=newDataOutputStream(newFileOutputStream(f))

java - 将 Byte[] append 到二进制文件的末尾

我正在解析一个文件。我正在创建一个新的输出文件,并且必须向其中添加“byte[]数据”。从那里我需要将许多其他“byte[]数据”append到文件末尾。我想我会让用户为输出文件名添加一个命令行参数,因为我已经让他们提供了我们正在解析的文件名。也就是说,如果系统中尚未创建文件名,我觉得我应该生成一个。现在,我不知道该怎么做。我的程序当前正在使用DataInputStream来获取和解析文件。我可以使用DataOutputStream追加吗?如果是这样,我想知道如何append到文件而不是覆盖。 最佳答案 IfsoI'mwonderi

java - 使用java加密整数

我正在尝试使用java.security和javax.crypto在java中加密一些整数。问题似乎是Cipher类只加密字节数组。我不能直接将整数转换为字节字符串(我可以吗?)。执行此操作的最佳方法是什么?我是否应该将整数转换为字符串并将字符串转换为byte[]?这看起来效率太低了。有谁知道快速/简单或有效的方法吗?请告诉我。提前致谢。jbu 最佳答案 您可以使用DataOutputStream将int转换为byte[],如下所示:ByteArrayOutputStreambaos=newByteArrayOutputStream

java - 使用 DataOutputStream 写入大字符串

我一直在进行一些套接字编程以通过线路传输信息。我遇到了DataOutputStream.writeUTF()的问题。它似乎允许最大64k的字符串,但在某些情况下我可以运行它。是否有支持更大字符串的任何好的替代方案,或者我需要自己推出吗? 最佳答案 在使用将每个字符压缩为一个、两个或三个字节的算法之前,它实际上使用两个字节来写入字符串的长度。(请参阅有关java.io.DataOutput的文档)它接近于UTF-8,但即使记录如此,也存在兼容性问题。如果您不太担心要写入的数据量,您可以轻松编写自己的数据,方法是先写入字符串的长度,然后

java - 在 Java 中,当使用 DataOutputStream 写入文件时,如何定义正在写入的数据的 Endian?

我正在使用DataOutputStream写入文件,但我想更改数据的字节序。这就是我将字节数据写入文件的方式(它默认以Littleendian输出)publicvoidgenerateBinObjFile(StringoutputFile)try{//CreatefileDataOutputStreamstream=newDataOutputStream(newFileOutputStream(outputFile));stream.writeShort(this.quantize(this.xComponents.get(index),//有没有一种方法可以定义字节数据在Java中的

java - DataOutputStream: "encoded string too long"限制的目的

java.io.DataOutputStream.writeUTF(Stringstr)方法中有一个奇怪的限制,它将UTF-8编码字符串的大小限制为65535字节:if(utflen>65535)thrownewUTFDataFormatException("encodedstringtoolong:"+utflen+"bytes");这很奇怪,因为:在该方法的JavaDoc中没有关于此限制的任何信息这个限制可以通过复制和修改这个类的内部staticintwriteUTF(Stringstr,DataOutputout)方法来轻松解决在相反的方法java.io.DataInputStr