1、读TXT文件
2、添加异常问题处理机制、使用log记录异常
3、处理空行
4、处理编码格式问题
5、处理重复数据问题
6、数据存储到list中
注意:文件流释放顺序
private static void readFile(String input){
Logger log = Logger.getLogger("log.txt");
FileInputStream fis=null;
InputStreamReader isr=null;
BufferedReader br=null;
Set<String> set=new HashSet<>();
List<String> list=null;
String encoding = "utf-8";//Chinese; if only have English, use gbk
try{
fis=new FileInputStream(input);
//4、处理编码格式问题
isr=new InputStreamReader(fis,encoding);
br = new BufferedReader(isr);
String line;
//1、读TXT文件
while((line=br.readLine())!=null){
//3、处理空行
if(!line.isEmpty())
//5、处理重复数据问题
set.add(line);
}
//6、数据存储到list中
list=new ArrayList<String>(set);
}catch(IOException ex1){
//2、添加异常问题处理机制、使用log记录异常
log.info("读取文件异常:"+ex1.getMessage());
}finally{
if(br!=null){
try{
br.close();
}catch(IOException ex2){
log.info("关闭BufferedReader流异常:"+ex2.getMessage());
}
}
if(isr!=null){
try{
isr.close();
}catch(IOException ex3){
log.info("关闭InputStreamReader流异常:"+ex3.getMessage());
}
}
if(fis!=null){
try{
fis.close();
}catch(IOException ex3){
log.info("关闭FileInputStream流异常:"+ex3.getMessage());
}
}
}
}