1、读txt文件

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

猜你喜欢

转载自blog.csdn.net/IndusInAutumn/article/details/84520941