BufferedReader br = new BufferedReader(new FileReader("D:\\我爱javaee\\c.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\我爱javaee\\c.txt"));
// 读数据
String s = br.readLine();
br.close();
// 把读取到的字符串转成整数
int num = Integer.parseInt(s);
// 对整数进行判断
if( num >= 3 ){
System.out.println("亲,本软件只能免费使用3次,欢迎您注册会员后继续使用~");
return;
}else {
System.out.println("欢迎使用本软件,第"+(++num)+"次使用免费~");
bw.write(num+"");
//bw.write(String.valueOf(num))
bw.close();
}
报错java.lang.NumberFormatException: null
当应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该异常
起初我总以为是每次用FileWrite关联文件写入数据时是把原有的数据覆盖了,其实不然,在第一次执行到 BufferedWriter bw = new BufferedWriter(new FileWriter(“D:\我爱javaee\c.txt”));代码时,就会把文件里的数据清空,因为FileWrite默认的是false,所以导致 String s = br.readLine();读到的数据为null,以至于 int num = Integer.parseInt(s);转换类型时,报NumberFormatException: null。