快速业务通道

INI参数(文本文件)的读写 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20

INI参数(文本文件)的读写

时间:2011-01-21

//参数(文本文件)的读写,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); } }

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号