黑马程序员技术交流社区

标题: IO的问题. [打印本页]

作者: 山西_李帅    时间: 2013-4-24 22:09
标题: IO的问题.
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/*
* 该程序为一个试用程序, 只能运行10次.
* 每次启动时提示剩余次数, 如果执行了10次, 提示已到期.
*/
public class Demo4 {
        public static void main(String[] args) throws IOException {
                BufferedReader br = new BufferedReader(new FileReader("test.txt")); // 定义BufferedReader
                String line = br.readLine(); // 从文件中读取总的次数
                br.close();
                int times = Integer.parseInt(line); // 将line转换成int类型
                if (times > 0) {
                        System.out.println("欢迎使用XXX软件,您一共有10次免费使用机会,还剩下" + --times + "次!");
                        FileWriter fw = new FileWriter("test.txt"); // 定义FileWriter
                        fw.write(times + ""); // 通过定义FileWriter将剩余的次数重新写入test.txt文件中
                        fw.close();
                } else{
                        System.out.println("软件已到期!");
                }

        }
}





上面是我的代码.  程序功能都写清楚了,但是运行结果出错了,找了好久没找到是哪错了.
(报这样的错误)
        at java.lang.Integer.parseInt(Unknown Source)
        at java.lang.Integer.parseInt(Unknown Source)
        at day0424_lianxi.Demo4.main(Demo4.java:17)

作者: wangyougu010    时间: 2013-4-24 22:19
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/*
* 该程序为一个试用程序, 只能运行10次.
* 每次启动时提示剩余次数, 如果执行了10次, 提示已到期.
*/
public class Demo4 {
        public static void main(String[] args) throws IOException {
                BufferedReader br = new BufferedReader(new FileReader("times.txt")); // 定义BufferedReader
                String line = br.readLine(); // 从文件中读取总的次数
                br.close();
               
                int times = Integer.parseInt(line); // 将line转换成int类型
                if (times > 0) {
                        System.out.println("欢迎使用XXX软件,您一共有10次免费使用机会,还剩下" + --times + "次!");
                       
                        FileWriter fw = new FileWriter("times.txt"); // 定义FileWriter
                        fw.write(times + ""); // 通过定义FileWriter将剩余的次数重新写入test.txt文件中
                        fw.close();
                } else {
                        System.out.println("软件已到期!");
                }

        }
}
你的代码没啥问题,我试过了,完全可以,问题可能出在你的文件那,读出流关联的文件要存在,看下有这个文件没
作者: 山西_李帅    时间: 2013-4-24 22:22
wangyougu010 发表于 2013-4-24 22:19
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;

有呢啊.    路径也没问题.
作者: gerenvip    时间: 2013-4-25 13:48
使用你的程序运行了一下,没有任何问题。可能是你的test文件中没有写入次数导致的。实在不行,把test.txt删除重新建立,重新开命令行窗口




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2