需要在Java中将大文件转换为字符串

时间:2014-05-09 15:27:47

标签: java android xml file

当我尝试转换大文件时,我正面临OOM问题>字符串50MB(使用StringBuilder)。

看过类似的问题,但答案都没有帮助。

结束动机是将文件数据附加到xml属性并将其传输到服务器。

在Android设备上试一试。

使用的代码来自此帖子:How do I create a Java string from the contents of a file?

3 个答案:

答案 0 :(得分:0)

制作list<string>并在阅读文件时保存每个文件列表中的200个字符作为新字符串。然后,您可以用相同的方式将其写入XML。

我希望它有所帮助。

答案 1 :(得分:0)

为了避免将整个文件放在Heap中,最好使用Multipart消息将其发送到服务器。一部分将包含XML,该文件将在一个单独的部分中。这可以使用Web服务实现,但这取决于要求以及可以更改服务器实现的程度。

如果服务器是&#34;固定&#34;并且无法更改为接受多部分消息,并且必须始终使用一个XML发送,您可能需要避免使用DOM生成XML。

答案 2 :(得分:0)

使用IOUtils尝试Apache Commons IO库:

public static void main(String[] args) throws Exception {
    IOUtils.write("string", new FileOutputStream("file"));
}