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); } }