在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ 使用Properties無法寫入配置文件,求解

使用Properties無法寫入配置文件,求解

NewFile.java

private File configurationFile;

public NewFile(File file){
    this.configurationFile = file; 
}

public void newFile() throws IOException{
     if (!configurationFile.exists())
         configurationFile.createNewFile();
    
}

Configuration.java

private File configurationFile;
private Properties pro;
private FileInputStream input;
private FileOutputStream  output;
int count = 0;

public Configuration(File configurationFile, Properties pro, FileInputStream input, FileOutputStream output){
    this.configurationFile = configurationFile;
    this.pro = pro;
    this.input = input;
    this.output = output;
}

public void write() throws IOException{
    pro.load(input);
    
    String value = pro.getProperty("name");
    if (value != null){
        count = Integer.parseInt(value);
    }
    count++;
    
    pro.setProperty("name", count + "");
    pro.store(output, "");
    
    input.close();
    output.close();
}

Main.java

public static void main(String[] args){
    Configuration config = null;
    File configFile = null;
    FileInputStream input = null;
    FileOutputStream output = null;
    Properties pro = null;
    NewFile newFile = null;
    
    try{
        configFile = new File("info.ini");
        newFile = new NewFile(configFile);
        newFile.newFile();
        input = new FileInputStream(configFile);
        output = new FileOutputStream(configFile);
        pro = new Properties();
        config = new Configuration(configFile, pro, input, output);
        config.write();    
    }catch(IOException e){
        e.printStackTrace();
    }finally{
        if(input != null){
            try{
                input.close();
            }catch(IOException e){
                e.printStackTrace();
            }
        }
        if (output != null){
            try{
                output.close();
            }catch(IOException e){
                e.printStackTrace();
            }
        }
    }
}

我測(cè)試了一下代碼,發(fā)現(xiàn)

if (value != null){
        count = Integer.parseInt(value);
    }

沒有執(zhí)行,但是不知道為什么,求解

回答
編輯回答
病癮

你把配置文件后綴改成properties試試

2018年1月12日 08:09
編輯回答
何蘇葉

只是創(chuàng)建了空的文件info.ini,

String value = pro.getProperty("name");//value為null所以不執(zhí)行if里面的代碼
2017年4月8日 05:55