前传
过英语六级对我这种底子差又懒惰的人来说简直就是噩梦。 在参加一次学校的讲座中,演讲的美女老师说:
“把近几年卷子中不会的单词摘出来多读几遍,你会发现阅读中的生词下次会出现在听力中。尤其是选项中的单词,尤其是含有答案的句子中的词。“
个人觉得很对,so,认真做了两套不同年份的题 ,得出了果然如此的结论,不信你也可以试试。 新东方教育集团的张旭老师曾经说过:
“提高听力很简单,把听力原文中的生疏词汇用正确的发音多读几遍就可以了 。”
个人觉得又很对,于是下定决心把每套卷子自己不会的词摘出来,多背几遍 。
为了讲求效率,当然是下载题库,然后各种划词翻译软件,把单词直接添加到软件自带的单词本中,最后导出单词本中的单词打印出来。尝试了几个软件,像必应、金山、有道、GoldenDict等等,本人小硕一枚,翻译外文一般以必应和谷歌为主,但对付六级,一般词典足够,所以最终决定上有道词典(金山点击导出会闪退,必应划词翻译不认,GoldenDict没找到单词本功能)。 有道词典导出的是txt的文本:
这种格式打印出来实在受不了,又不想一个一个的粘贴到表格中。身为一个程序员,就想用java写一个程序,将txt文本中的信息进行处理后,导出excel格式的文本。
Java实现.txt转Excel
2.1 获取文本单词与解释
首先,用IO导入.txt文本,然后利用字符串知识将文本中的每一行做处理,赋值给二维字符串数组。
package edu.kmust.txt;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.InputStreamReader;
import org.junit.Test;
/**
* 获取txt文本中的数据并赋值给二维字符串数组
* @author zhaoyuqiang
*
*/
public class GetTxt {
/**
* 获取txt文本内容
* @return
*/
@Test
public String[][] getTxt() {
//共有172个单词
String[][] dataList = new String[172][2] ;
for(int i=0;i<dataList.length;i++) {
for(int j=0;j<2;j++) {
dataList[i][j] = null ;
}
}
try {
File file = new File("/home/zhaoyuqiang/Documents/201706.txt");
if(file.isFile() && file.exists()) {
InputStreamReader reader = new InputStreamReader(new FileInputStream(file),"UTF-8");
BufferedReader br = new BufferedReader(reader);
StringBuilder sb = new StringBuilder();
/**
* 将txt读到的字符串写入到dataList二维数组中
*/
String strLine = br.readLine() ;
int i = 0;
while(strLine != null ) {
/*
* 单词放在二维数组的第一列
*/
if(Character.isDigit(strLine.charAt(0))) {
dataList[i][0] = strLine ;
}