|
|
| INI参数(文本文件)的读写,by chillming |
作者:未知
文章来源:www.jspcn.net
访问次数:780次
加入时间:2005年01月19日
|
|
//参数(文本文件)的读写,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 + ";
"; isHere = true; }else{ LineStr = PName + "=" + PValue + ";
"; } 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 + ";
"; 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 + "
"; } }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); } }
|
|
|