需求概括:
- 整理所有sql语句按照执行的顺序汇总到一个文档中,后续只需维护这个sql语句文档;
- java实现按行读取文件,从上到下依次存入一个有序的数组中;
- 单元测试代码每条测试用例使用一条sql语句,以索引获取到有序数组中一个元素。
核心方法:
- 使用java.io读取文件
InputStream is = new FileInputStream(fileDIR);
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
- 按行读取,将每次读取一行的结果赋值给str_line
String str_line=br.readLine()
br.close();
List<String>sqls = new ArrayList<String>();
sqls.add(str_line);
直接上代码:
package DemoApplication;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class ReadFile {
private final String filename;
public ReadFile(String fileName) {
this.filename = fileName;
}
public static List<String> readFileByLine(String fileDIR) {
List<String> sqls = new ArrayList<String>();
try {
InputStream is = new FileInputStream(fileDIR);
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String str_line;
while ((str_line = br.readLine()) != null) {
sqls.add(str_line);
}
System.out.println(sqls);
br.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
System.out.println("读取文件行存储操作失败!");
e.printStackTrace();
}
return sqls;
}
public static void main(String[] args) {
System.out.println(readFileByLine("src/main/data/testData.txt"));
}
}