您的位置:首页 > 编程语言 > Java开发

【Java笔试题】限制文件的访问次数

2016-11-22 14:19 369 查看
1、题目

给定一个文件,对其进行访问次数的限制。例如,某网站的某些内容,对于未注册的用户,其只能访问5次,那么当用户的访问次数超过5次的时候,网站就会给用户提示,“对不起,您的访问次数已到,请注册!”,如果用户不注册的话,就算其退出当前网站,再次进入该网站访问该内容的时候,仍然不能访问该内容。

2、解题思想

首先,将配置文件封装成file对象,定义文件输入流,从流中加载数据,再从集合中通过键获取次数。为了累加点击次数,我们可以定义一个计数器,记录获取到的次数。接下来,对记录的点击次数进行判断,判断其是否已经超出限制范围。最后,将改变后的次数重新存储到集合中。

3、Java代码

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
public class GetAppCount {
public static void main(String[] args) throws IOException {
getAppCount();
}

public static void getAppCount() throws IOException {
File confile = new File("count.properties");  //将配置文件封装成file对象
if(!confile.exists()) {
confile.createNewFile();
}
FileInputStream fis = new FileInputStream(confile);
Properties prop = new Properties();
prop.load(fis);  //从流中加载数据
String value = prop.getProperty("time");  //从集合中通过键获取次数
int count = 0;  //定义计数器,记录获取到的次数
if(value != null) {
count = Integer.parseInt(value);
System.out.println("您已经使用:" + count + "次");
if(count >= 5) {
throw new RuntimeException("对不起,您的访问次数已到,请注册!");
}
}
++count;
prop.setProperty("time", String.valueOf(count));  //将改变后的次数重新存储到集合中
FileOutputStream fos = new FileOutputStream(confile);
prop.store(fos, "");  //存储数据
fos.close();
fis.close();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: