目录
题目:*17.8 (更新计数器)
假设要追踪一个程序的运行次数。可以存储一个 int 值来对文件计数。程序每执行一次,计数器就加1。将程序命名为 Exereise17_08,并且将计数器存储在文件 Exercise17_08.dat 中
-
习题思路
- 分别定义一个读取方法和一个写入方法。
- 为Exereise17_08创建一个File,如果没有创建过就写入1。
- 如果已经被创建过,那么读取文件内的int数,+1后重新写入。
-
代码示例
编程练习题17_8UpdateCounter.java
package chapter_17;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class 编程练习题17_8UpdateCounter {
public static void main(String[] args) throws IOException{
int runs = 0;
File file = new File("src/Text/Exereise17_08.dat");
if(!file.exists()) {
runs = 1;
write(runs, file);
}else {
runs = read(file)+1;
write(runs, file);
}
System.out.println("Number of runs:"+runs);
}
public static void write(int i,File file) throws IOException, FileNotFoundException{
try(
DataOutputStream output = new DataOutputStream(new FileOutputStream(file))
){
output.writeInt(i);
}
}
public static int read(File file) throws IOException{
int i = 0;
try(
DataInputStream input = new DataInputStream(new FileInputStream(file))
){
i = input.readInt();
}catch (IOException e) {
e.printStackTrace();
}
return i;
}
}
-
输出结果
Number of runs:8