Tag: fileoutputstream

从JSON对象kotlin中发送的Byte Array创建文件

我有一个包含字节数组的JSON对象。 该字节数组应该创建一个文件。 我已经在iOS中完成了这个工作,然而,它试图在Android中执行相同的任务,结果文件中的文本是完全不同的。 我已经发现了很多关于将byteArray写入文件的问题和解决方案,到目前为止,尝试了6种方法之后,这是我的解决方案(可能不是我尝试的最好的方法,但是它们都输出相同的文件内容: val bytes: ByteArray = (json["Data"] as JsonArray<Byte>).toByteArray() val bufferedOut = BufferedOutputStream(FileOutputStream(file)) val output = DataOutputStream(bufferedOut) output.write(bytes) output.close() 我已经在工作的iOS版本和这个版本之间比较了byteArray(我知道在我的代码的这个公式中,它是一个Int列表,但它是一个从一个klaxon JsonObject安全地投射的更短的方法),并且它们完美匹配。 然而,它的输出完全不同,在Android中有一堆乱码。 我一直认为编码必须是不同的,但我已经读了一些类似的问题的答案,人们说Java不使用编码,所以我错了? 编辑:在深入比较iOS和Android过程之后,我注意到在iOS中它将数据写入文件,并且数据与Android文档中出现的文本相同。 所以我试图将这些数据转换成DataOutputStream并通过它写入字节(更新的代码)。 在我的脑海中,当我写下它的时候是有道理的,但结果是一样的。 这可能有助于看到“文本”这样的输出: {\ rtf1 \ deff0 {\ fonttbl {\ f0 Calibri;}} {\ colortbl; \ red0 \ green0 \ blue255;} {* \ defchp \ fs22} {\ stylesheet {\ ql […]