在实际开发中经常会从配置文件中读取参数信息,以下代码部分:
package com.ztkj.his.mz.mzdoctor.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.util.Properties;
public class FileReadUtil {
private static Properties propertie;
private static FileInputStream inputFile;
private String filePath="C:\\Config\\";
public FileReadUtil(String fileName) {
propertie = new Properties();
this.filePath = this.filePath + fileName;
try {
inputFile = new FileInputStream(new File(this.filePath));
propertie.load(inputFile);
} catch (FileNotFoundException ex) {
File file = new File(fileName);
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
} catch (IOException ex) {
System.out.println("装载文件--->失败!");
ex.printStackTrace();
} finally {
try {
if (inputFile != null)
inputFile.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public FileReadUtil(String filePath, String fileName) {
propertie = new Properties();
this.filePath = this.filePath+fileName;
try {
inputFile = new FileInputStream(new File(this.filePath));
propertie.load(inputFile);
} catch (FileNotFoundException ex) {
File file = new File(fileName);
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
} catch (IOException ex) {
System.out.println("装载文件--->失败!");
ex.printStackTrace();
} finally {
try {
if (inputFile != null)
inputFile.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public String getValue(String key) {
if (key == null)
return "";
key = key.trim();
if (propertie.containsKey(key)) {
String value = propertie.getProperty(key);// 得到某一属性的值
try {
value = new String(value.getBytes("ISO-8859-1"), "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return value;
} else
return "";
}
public void setValue(String str) {
if (str == null) {
return;
}
try {
File file = new File(filePath);
if (file.exists()) {
file.delete();
} else {
file.createNewFile();
}
OutputStream fos = new FileOutputStream(file, false);
fos.write(str.getBytes());
fos.flush();
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
这里需要注意涉及到中文需用“UTF-8”
public String getValue(String key) {
if (key == null)
return "";
key = key.trim();
if (propertie.containsKey(key)) {
String value = propertie.getProperty(key);// 得到某一属性的值
try {
value = new String(value.getBytes("ISO-8859-1"), "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return value;
} else
return "";
}