今天一个下载csv功能测试的时候内存爆掉了代码如下:
File file = new File(tempCsvDir+File.separator+filename+".csv");
InputStream fis = new BufferedInputStream(new FileInputStream(file));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
// 清空response
response.reset();
// 设置response的Header
response.addHeader("Content-Disposition", "attachment;filename=" + new String((new SimpleDateFormat("yyyyMMddHHmmss").format(new Date())+"xxx.csv").getBytes()));
response.addHeader("Content-Length", "" + file.length());
OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
response.setContentType("application/octet-stream");
toClient.write(buffer);
toClient.flush();
toClient.close();
后面在网上找到答案:修改后好了
循环读取
OutputStream toClient = new BufferedOutputStream(response.getOutputStream()); byte[] buffer = new byte[1024 * 1024 * 8]; int i = -1; while ((i = fis.read(buffer)) != -1) { toClient.write(buffer, 0, i); } fis.close(); toClient.flush(); toClient.close();
相关推荐
本解决方案着重于如何在Unity项目中利用CSV文件作为配置,并提供了将Excel表格批量转换为CSV格式的工作流程。 首先,我们来看如何在Unity中使用CSV文件。CSV文件本质上是文本文件,每一行代表一个数据项,每个字段...
纯JavaScript实现生成并下载CSV文件,前端竟然可以生成CSV文件,感兴趣的可以看下如何生成CSV文件,并且下载。
CSV监控系统技术解决方案(兼容DVR)
为了应对这种情况,我们需要采用优化策略来实现高效且不会内存溢出的大数据量CSV导出。 首先,了解Java中处理CSV的基本方法。Java标准库并没有提供直接处理CSV的API,但我们可以借助第三方库,如Apache Commons CSV...
### 二、解决方案概述 要将CSV文件中的数字列转换为文本列,可以通过编程语言如Java来实现。主要步骤包括读取原始CSV文件,对指定的数字列进行转换,然后再将修改后的数据写回到新的CSV文件中。 ### 三、具体实施...
Sql代码 代码如下: load data infile ‘D:\\top-1m.csv’ into table `site` fields terminated by ‘,’ optionally enclosed by ‘”‘ escaped by ‘”‘ lines terminated by ‘\n’; 顺带也备份个导出
除了以上方法,你还可以尝试其他解决方案,例如在PLSQL Developer工具中直接设置导出时的编码,或者使用第三方工具进行文件转换。例如,可以使用Notepad++这样的文本编辑器打开CSV文件,查看并更改文件编码,然后再...
poi读取大量数据会造成gc内存溢出的报错,由于垃圾回收机制无法将大量的对象及时的回收,而这些对象又会保存在内存中,会导致内存不够用的情况,这时候我们就需要使用新的方法,读取...此解决方案可支持千万数据的传输不报错
- 如果可能,可以考虑使用CSV格式代替Excel,因为CSV文件对内存的需求较低,并且大多数应用程序都能读取。 8. **异步处理**: - 使用多线程或者异步处理,将数据导出任务分解成多个子任务,每个任务处理一部分...
js生成csv文件下载
由于在学习numpy数据分析的时候没有csv类型文件,又懒得自己一个个敲字,便想来csdn里随便下载一个。然而......居然要钱啊!!!!!!!我没钱,所以自己写了个,我不要你们的钱,麻烦各位拿资源的时候吱一声,这是...
首先,我们来看如何将数据写入CSV格式的文档并实现下载功能。在C#中,可以使用`StreamWriter`类来创建并写入CSV文件。每个字段之间用逗号分隔,行与行之间用换行符`\n`隔开。例如,假设有以下数据: ```csharp ...
在IT行业中,CSV(Comma Separated Values)文件是一种广泛使用的数据存储格式,因其简洁、通用和易于处理的特性而受到青睐。本示例“csv_example.rar”专注于在Windows操作系统环境下,通过编程语言来读取CSV文件。...
本项目涉及的关键知识点包括FTP客户端的实现、CSV文件的解析、多文件下载与并发处理以及日志记录。以下是对这些核心内容的详细阐述: 1. FTP客户端实现: FTP客户端通常由两部分组成:连接管理(登录、断开连接)...
通过其丰富的功能和可配置性,无论是在简单的数据导入导出还是复杂的数据处理任务中,都能提供高效且可靠的解决方案。当你需要处理包含特殊字符的 CSV 文件时,C# CSV Helper 更是得力助手。正确理解和使用这个库,...
总的来说,CSV大数据分批并压缩导出是一种实用且高效的解决方案,特别适用于需要处理海量数据且内存资源有限的环境。它结合了分批处理的内存管理策略和压缩技术的空间优化,确保了大数据操作的可行性和性能。
这里的"heart.csv、gisette.csv+elevators.csv+glass.csv"提到的三个CSV文件,分别代表三个不同的数据集,可以用于训练和评估不同的机器学习模型。 1. **heart.csv**: 这个数据集通常用于预测心脏病的发生。它可能...
CSV(Comma Separated Values)格式是一种广泛使用的数据存储标准,它简单易读,且跨平台兼容性好。本资料包“各种csv格式的数据集”包含了不同行业的数据,如餐饮、电信、航空和商圈,这些都是研究和应用分析的重要...
CSV(Comma Separated ...总之,“csv拆分工具”是解决大CSV文件处理问题的有效解决方案,它能帮助我们更高效、安全地管理和操作大量数据。通过理解其工作原理和使用方法,我们可以更好地利用这类工具提升工作效率。
mtcars 数据集,下载地址: http://forge.scilab.org/index.php/p/rdataset/source/tree/master/csv/datasets/mtcars.csv