INI参数(文本文件)的读写[Java编程]
本文“INI参数(文本文件)的读写[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
//参数(文本文件)的读写,by chillming
import java.io.*;
public class IniFile{
private String FileName = "";
public IniFile(String fn){
FileName = fn;
}
//返回参数的值
public String ReadPara(String Para,String PV){
String PName = "";
String PValue = PV;
String LineStr = "";
int pos = 0;
try{
BufferedReader RFile = new BufferedReader(new FileReader(FileName));
while(true){
try{
LineStr = RFile.readLine();
pos = LineStr.indexOf("=");
PName = LineStr.substring(0,pos).trim();
if(PName.equals(Para.trim())){
//找到
PValue = LineStr.substring(pos+1,LineStr.indexOf(";")).trim();
break;
}
}catch(NullPointerException e){
//文件尾
break;
}
}
RFile.close();
}catch (IOException e)
{
if(PV==null)PV = "";
return PV;
}
return PValue;
}
//更新或增添参数
public boolean WritePara(String PN,String PV){
String PName = "";
String PValue = "";
String LineStr = "";
String AllLines = "";
int pos = 0;
boolean isHere = false;
if(PV==null)PV = "";
try{
BufferedReader RFile = null;
try{
RFile = new BufferedReader(new FileReader(FileName));
}
catch(FileNotFoundException e){
//文件不存在
File file = new File(FileName);
file.createNewFile();
RFile = new BufferedReader(new FileReader(FileName));
}
while(true){
try{
LineStr = RFile.readLine();
pos = LineStr.indexOf("=");
PName = LineStr.substring(0,pos).trim();
PValue = LineStr.substring(pos+1,LineStr.indexOf(";")).trim();
if(PName.equals(PN)){
LineStr = PName + "=" + PV + ";\n";
isHere = true;
}else{
LineStr = PName + "=" + PValue + ";\n";
}
if(LineStr!=null && LineStr !=""){
AllLines += LineStr;
}
}catch(NullPointerException e){
//文件尾
break;
}
}
RFile.close();
}catch (IOException e) {
return false;
}
try{
BufferedWriter Fout=new BufferedWriter(new FileWriter(FileName));
if(!isHere){
LineStr = PN + "=" + PV + ";\n";
AllLines += LineStr;
}
Fout.write(AllLines);
Fout.close();
}catch (IOException e)
{
System.out.println("io error write");
return false;
}
return true;
}
//删除参数
public boolean DelPara(String PN){
String PName = "";
String LineStr = "";
String AllLines = "";
int pos = 0;
try{
BufferedReader RFile = new BufferedReader(new FileReader(FileName));
while(true){
try{
LineStr = RFile.readLine();
pos = LineStr.indexOf("=");
PName = LineStr.substring(0,pos).trim();
if(!PName.equals(PN)){
AllLines += LineStr + "\n";
}
}catch(NullPointerException e){
//文件尾
break;
}
}
RFile.close();
}catch (IOException e) {
return false;
}
try{
BufferedWriter Fout=new BufferedWriter(new FileWriter(FileName));
Fout.write(AllLines);
Fout.close();
}catch (IOException e)
{
return false;
}
return true;
}
public static void main(String args[]) {
String fn = "Config.txt";
String Pv = "";
//System.out.println(System.getProperty("user.dir"));
IniFile inifile = new IniFile(fn);
inifile.WritePara("java","chillming");
inifile.WritePara("java1","chillming1");
inifile.WritePara("java2","chillming2");
inifile.DelPara("java1");
Pv = inifile.ReadPara("java2","java2");
System.out.println(Pv);
Pv = inifile.ReadPara("java1","java1");
System.out.println(Pv);
Pv = inifile.ReadPara("java","java0");
System.out.println(Pv);
}
}
以上是“INI参数(文本文件)的读写[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |