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

cheguoyu

cheguoyu

2016-02-19 16:26

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的INI参数(文本文件)的读写,过去的都会过去,迎接崭新的开始,释放更美好的自己。
//参数(文本文件)的读写,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);
}
}
展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
INI参数(文本文件)的读写

简单的c#文本文件读写

电脑网络
简单的c#文本文件读写

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Java IO学习基础之读写文本文件

编程语言 网络编程
Java IO学习基础之读写文本文件

INI文件的读写

编程语言 网络编程
INI文件的读写

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Word文档批量转为文本文件

办公软件
Word文档批量转为文本文件

打开文本文件各种方法

编程语言 网络编程
打开文本文件各种方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

如何用java得到硬盘空间

如何用java得到硬盘空间

windows7的"纵深防御"理念论

windows7的"纵深防御"理念论
下拉加载更多内容 ↓