看这题,估计咱们一个班的,这作业我昨晚上做了,你看看:
/*
要求获取一个程序运行的次数
如果满足5次,那么该程序退出,并给出注册的提示,结束程序.
Properties类:
list(PrintStream out) 将属性列表输出到指定的输出流。
list(PrintWriter out) 将属性列表输出到指定的输出流。
load(InputStream inStream) 从输入流中读取属性列表(键和元素对)
store(OutputStream out, String comments) 将属性列表(键和元素对)写入输入流。
思路:
1:创建输入流,读取某配置文件count.txt,如果,键值为5,提示注册。
3:定义Properties集合,键count 值 0,值自增1
4:创建输出流,将集合中的元素写入到logon.txt文件
*/
import java.io.*;
import java.util.*;
class Logon
{
public void logon() throws IOException
{
//创建一个文件 记录软件试用次数
File file=new File("logon.ini");
file.createNewFile();
//创建输入流,源:logon.txt
FileInputStream fis=new FileInputStream(file.getName());
//创建属性集
Properties prop=new Properties();
prop.load(fis);//将输入流指向的文件内容,载入到属性集
fis.close();
if (prop.isEmpty())//如果文件为空,那么属性集为空
{
prop.put("count","0");//添加属性表
}
Integer value=new Integer( prop.getProperty("count"));
int count=value.intValue();//由键获取值,转换为int数据
if (count==5)//次数为5,那么提示注册并退出虚拟机
{
System.out.println("软件试用次数达到5次,请注册后继续使用!");
System.exit(0);
}
count++;//次数自增一次
String newvalue=new Integer(count).toString();//转换为String类型
prop.put("count",newvalue);//修改属性表
//输出流 目的地:logon.txt
FileOutputStream fos=new FileOutputStream(file.getName());
prop.store(fos,null);//将属性集内容通过输出流保存到指定文件中
fos.close();//关闭流
}
}
public class HomeWork4
{
public static void main(String[] args)throws IOException
{
Logon l=new Logon();
l.logon();
System.out.println("Hello World!");
}
}
|