程序一:/*
需求:
用于记录应用程序运行次数,如果使用次数已到5次,就提示注册
*/
import java.io.*;
import java.util.*;
class RunCount
{
public static void main(String[] args)throws IOException 
{
Properties prop = new Properties();
//创建一个配置文件对象
File file = new File("count.ini");
FileOutputStream fos = new FileOutputStream(file);
if(!file.exists())
file.createNewFile();
//建读取流对象关联配置文件
FileInputStream fis = new FileInputStream(file);
//建立写出流对象关联配置文件
prop.load(fis);


//定义一个计数器,执行一次,计数器加 1,并写入到配置文件中
int count = 0;
String value = prop.getProperty("times");
System.out.println(value);
if(value!=null)
{
count = Integer.parseInt(value);
if(count==5)
{
System.out.println("请注册");
}
}

count++;
prop.setProperty("times",count+"");

prop.store(fos,""); fis.close();
fos.close(); }
}
程序二:
/*
需求:
用于记录应用程序运行次数,如果使用次数已到5次,就提示注册
*/
import java.io.*;
import java.util.*;
class RunCount
{
public static void main(String[] args)throws IOException 
{
Properties prop = new Properties();
//创建一个配置文件对象
File file = new File("count.ini");

if(!file.exists())
file.createNewFile();
//建读取流对象关联配置文件
FileInputStream fis = new FileInputStream(file);
//建立写出流对象关联配置文件
prop.load(fis);


//定义一个计数器,执行一次,计数器加 1,并写入到配置文件中
int count = 0;
String value = prop.getProperty("times");
System.out.println(value);
if(value!=null)
{
count = Integer.parseInt(value);
if(count==5)
{
System.out.println("请注册");
}
}

count++;
prop.setProperty("times",count+"");
FileOutputStream fos = new FileOutputStream(file);
prop.store(fos,""); fis.close();
fos.close(); }
}程序一和程序二没什么区别,就是将 FileOutputStream fos = new FileOutputStream(file);的顺序改变了一下,为什么程序一错误,而程序二正确呢?