版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wo_buzhidao/article/details/82218887
通过读取配置文件生成map对象便于提取文件内容和转码
文本文件为config下的device.ini
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.springframework.util.ResourceUtils;
public class TransDeviceCode {
/**读取config文件下device.in文件,
*
* @param file device.ini文件地址
* @return
*/
private Map<String,String> tempMap;
public TransDeviceCode(){
}
public TransDeviceCode(String fileName){
tempMap=new HashMap<String,String>();
String strLine;
BufferedReader bufferedReader;
StringBuffer buffer;
File file;
try {
file=ResourceUtils.getFile("classpath:"+fileName);
bufferedReader = new BufferedReader(new FileReader(file));
while ((strLine = bufferedReader.readLine()) != null) {
strLine = strLine.trim();
char arr[] = strLine.toCharArray();
if(strLine.indexOf('#')>=0) {
continue;
}
if(strLine.length() == 0) {
continue;
}
buffer = new StringBuffer();
for(int i=0; i<arr.length; i++) {
char c = arr[i];
int ascii = (int)c;
if(ascii == 65533 || ascii == 0) {
continue;
}else{
buffer.append(arr[i]);
}
}
String sarr[] = buffer.toString().split(" ");
tempMap.put(sarr[1].trim(), sarr[3].trim()); //这里需要哪一列的信息就提取哪一列
}
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
//可以通过此方法转码
public String getValue(String key){
key=key.trim();
String value=this.tempMap.get(key);
if(value==null || value==""){
value=key;
}
value=value.trim();
return value;
}
}