我正在编写一个程序,通过http上传大量数据(特别是亚马逊冰川,但这是无关紧要的),我正在寻找减少内存开销的方法。
目前的情况基本上是: - 读取内存中的部分文件, - 将文件上传到服务器。
问题是,部分很大,高达4096 MB,而这只是浪费内存将其全部存储在RAM中。我正在寻找一种方法来减少不超过1 MB的内存。
我一直在看
HTTPConnection.request(method,url [,body [,headers]])
其中body可能是一个打开的文件(不需要将其复制到内存中;只需从磁盘中读取它就可以了):问题是我不想一次性发送一个完整的文件,而是一个任意的部分文件。不过只用那部分数据创建一个新文件,我不知道如何处理这个。