java讀取數據寫入txt文件並將讀取txt文件寫入另一個表

package com.xsw.test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.List;

import javax.annotation.Resource;

import org.apache.log4j.Logger;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.alibaba.fastjson.JSON;
import com.xsw.model.BatchTemp;
import com.xsw.model.TeamsDTO;
import com.xsw.service.BatchService;
import com.xsw.service.TeamService;
import com.xsw.util.DateUtils;

@RunWith(SpringJUnit4ClassRunner.class) // 表示繼承了SpringJUnit4ClassRunner類
@ContextConfiguration(locations = { "classpath:spring.xml" ,"classpath:spring-mybatis.xml"})
public class MybatisTest {

    private static Logger logger = Logger.getLogger(MybatisTest.class);
    @Resource
    private TeamService teamService;
    @Resource
    private BatchService batchService;
    
    @Test
    //@Ignore
    public void testTeam() throws IOException{
        TeamsDTO cre = teamService.getTeamById(1L);
        long startTime = System.currentTimeMillis();
        logger.info("===========================開始執行讀取寫入:"+startTime);
        File file = new File("F:\\"+DateUtils.date2SStr()+".txt");
        BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "UTF-8"));
        List<TeamsDTO> list = teamService.selectAllList();
        for (int i = 0; i < list.size(); i++) {
            //logger.info(i+"|"+JSON.toJSON(list.get(i)));
            out.write(JSON.toJSONString(list.get(i))+"\r\n");//將json字符串逐行寫入text 
        }
        out.flush();// 把緩存區內容壓入文件  
        out.close();// 最後記得關閉文件  
        long endTime = System.currentTimeMillis();
        logger.info("===========================結束讀取寫入:"+endTime+"\r\n===========================共耗時:"+(endTime - startTime)/1000+"s");
        //logger.info(JSON.toJSON(cre));
        startTime = System.currentTimeMillis();
        logger.info("===========================開始讀取:"+startTime);
        /* 讀入TXT文件 */  
        InputStreamReader reader = new InputStreamReader( new FileInputStream(file),"UTF-8"); // 創建一個輸入流對象reader  
        BufferedReader br = new BufferedReader(reader); // 創建一個對象,它把文件內容轉成計算機能讀懂的語言  
        String line = "";  
        line = br.readLine();  
        while (line != null) {  
            line = br.readLine(); // 一次讀入一行數據  
            //System.out.println(line);
            batchService.insertSelective(JSON.parseObject(line, BatchTemp.class));
        }  
        endTime = System.currentTimeMillis();
        logger.info("===========================讀取完成:"+endTime+"\r\n===========================共耗時:"+(endTime - startTime)/1000+"s");
    }
    
    
    //@Test
    public void testInsetBatch(){
        System.out.println(1111);
    }
}
相關文章
相關標籤/搜索