下载并阅读java Spring Rest服务中的大型csv文件

时间:2014-03-07 08:23:06

标签: java spring rest file-upload

我有一个Spring rest服务,每隔10分钟就会定期运行。服务知道存储在远程服务器上的文件的路径。文件大小约为2GB。 Service获取文件,然后读取文件的内容,然后根据文件内容操作数据库。弹簧休息服务获取大文件并对其内容进行操作的最佳方法是什么。

1 个答案:

答案 0 :(得分:2)

使用Apache File utils,

http://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/FileUtils.html#copyURLToFile(java.net.URL,java.io.File,int,int)

从在线下载1 GB文件的示例代码如下,

            package com.jai.download;

            import java.io.File;
            import java.net.URL;

            import org.apache.commons.io.FileUtils;

            public class FileDownload {

                public static void main(String[] args) {

                    File file = new File("c:/jj/1gb.zip");

                    URL url;
                    try {
                        url = new URL("http://download.thinkbroadband.com/1GB.zip");
                        long start = System.currentTimeMillis();
                        System.out.println("Downloading....");
                        FileUtils.copyURLToFile(url, file);
                        long end = System.currentTimeMillis();
                        System.out.println("Completed....in ms : " + (end - start));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }

                }

            }

我的网速为100 Mbps,它在94秒内下载了这个1GB文件。一旦你下载了这样的csv文件,你就可以阅读它的内容来进行业务逻辑检查并采取适当的措施。