使用DataOutputStream将二进制数据写入文件时清空行

时间:2014-02-19 22:22:53

标签: java android file pdf-generation dataoutputstream

我正在使用iOS和Android应用程序,我必须以二进制数据的形式从服务器下载PDF文件并将其写入磁盘。当我尝试在Android设备上使用Adobe Reader打开文件时,我在iOS上工作时出现格式错误。

Android上的相关代码如下:

JSONArray bytesArray = new JSONArray(responseStrBuilder.toString());

DataOutputStream dos = new DataOutputStream(
         new BufferedOutputStream(new FileOutputStream(file)));
for (int i = 0; i < bytesArray.length(); i++) {
    dos.writeInt(bytesArray.getInt(i));
}

dos.close();

当我将文件转换为我的Mac上的.txt文件并在文本编辑器中打开时,内容似乎完全相同,只是Android应用程序下载的文件有很多空行。我想知道这可能是问题以及如何克服它?

我还应该指出,我检查了两个平台上数组的长度,每个项目写入文件的值等等,它们完全一样。

我附上了两个截图,第一个在Android上下载的文件,第二个来自iOS。

非常感谢任何帮助。谢谢:))

Android屏幕截图 https://dl.dropboxusercontent.com/u/67408017/Screen%20Shot%202014-02-20%20at%2011.18.41%20AM.png

iOS屏幕截图 https://dl.dropboxusercontent.com/u/67408017/Screen%20Shot%202014-02-20%20at%2011.18.49%20AM.png

0 个答案:

没有答案