Java 每秒执行JSON对象的HTTP post

Java 每秒执行JSON对象的HTTP post,java,json,http,csv,Java,Json,Http,Csv,在构建json对象之后,我必须每秒用java编写一篇HTTP文章。 json对象是通过读取一个巨大的CSV文件(200Mbs+)构建的,所以我的问题是 如何读取x行数构建x对象并每秒发布一次(因为不可能在一秒钟内解析整个200mb文件),然后继续读取下一个x行 请告诉我你的想法 我是否可以使用Java timer类,继续读取CSV文件,同时每秒将json对象与格式的json一起发布到服务器?每秒读取、解析、转换和发送一个200 MB的文件几乎是不可能的 因此,您需要更改您的设计: 我的建议是只发

在构建json对象之后,我必须每秒用java编写一篇HTTP文章。 json对象是通过读取一个巨大的CSV文件(200Mbs+)构建的,所以我的问题是 如何读取x行数构建x对象并每秒发布一次(因为不可能在一秒钟内解析整个200mb文件),然后继续读取下一个x行

请告诉我你的想法


我是否可以使用Java timer类,继续读取CSV文件,同时每秒将json对象与格式的json一起发布到服务器?

每秒读取、解析、转换和发送一个200 MB的文件几乎是不可能的

因此,您需要更改您的设计:

我的建议是只发送更改的行,如下所示:

{
"1" : {"field1":"value1","field2":"value2"},
"17" : {"field1":"value1","field2":"value2"}
}
这当然会给你带来新的问题:


客户端需要找出哪些行已更改,服务器需要将更改的行与现有数据集成。

我会根据文件大小而不是时间来确定

BufferedReader fin = null; //create it
    Gson gson=new Gson();  //Google code open source library for JSON in Java  
    ArrayList<JSONObject> jsonList=new ArrayList<JSONObject>();    
    while (((line = fin.readLine()) != null)) {
                            if ( line.length()==0 ){
                                //"Blank line;
                            }else{
                                        currJSON=loadJSON(line);//You have to load it in a Java Object

                               if ( jsonList.size()<MAX_JSON){
                               jsonList.add(currJSON);
                            }

        if (JsonList.size()==MAX_JSON){ //Define the maximum size of the list you want to post
        gson.toJson(jsonList); //Convert to JSON
        //You should post your Json with some Http Connection to your server
    jsonList.clear();
BufferedReader-fin=null//创造它
Gson Gson=新的Gson()//Java中JSON的Google代码开放源代码库
ArrayList jsonList=新的ArrayList();
而(((line=fin.readLine())!=null)){
if(line.length()==0){
//“空白行;
}否则{
currJSON=loadJSON(line);//必须将其加载到Java对象中
if(jsonList.size()