实验要求:
1、复制一个已经存在的文本文件,生成一个新文件。 2、用PrintWriter流将九九乘法表写入到文件99.txt中。 3、将斐波那契数列的前10项写入到随机存取文件fei.dat中。 4、编程读取fei.dat文件中所有数据,计算其累加和,并添加到原有数据的后面。 5、将fei.dat文件的最后修改时间修改为前一天。 |
代码:
这几个都是很简单的啦~ 不信自己试试丫~ 不骗你哟~ 嘿嘿~
package IO流实验四;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
public Test() {
//1、复制一个已经存在的文本文件,生成一个新文件。
eg1();
//2、用PrintWriter流将九九乘法表写入到文件99.txt中。
eg2();
//3、将斐波那契数列的前10项写入到随机存取文件fei.dat中。
eg3();
//4、编程读取fei.dat文件中所有数据,计算其累加和,并添加到原有数据的后面。
eg4();
//5、将fei.dat文件的最后修改时间修改为前一天。
eg5();
}
private void eg5() {
// 获取当前时间,并减去一天的毫秒数
Date date = new Date();
long time = date.getTime() - 24 * 60 * 60 * 1000;
System.out.println(time);
// 更新文件的最后修改时间
File file = new File("It_heima\\src\\IO流实验四\\fei.dat");
file.setLastModified(time);
// 输出修改后的最后修改时间
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("修改后的最后修改时间为:" + format.format(file.lastModified()));
}
private void eg4() {
try {
RandomAccessFile f=new RandomAccessFile("It_heima\\src\\IO流实验四\\fei.dat","rw");
// 移动文件指针到文件开头
f.seek(0);
// 读取并累加文件中所有数据
int sum = 0;
int num;
for(int i=1;i<=10;i++){
num=f.readInt();
sum+=num;
}
// 将累加和写入文件的末尾
f.writeInt(sum);
System.out.println(sum);
f.close();
System.out.println("文件操作完成。");
} catch (IOException e) {
System.out.println("文件操作失败:" + e.getMessage());
}
}
private void eg3() {
int[] arr=new int[11];
try {
RandomAccessFile file=new RandomAccessFile("It_heima\\src\\IO流实验四\\fei.dat","rw");
for(int i=1;i<=10;i++){
if(i==1||i==2){
arr[i]=1;
file.writeInt(arr[i]);
}else{
arr[i]=arr[i-1]+arr[i-2];
file.writeInt(arr[i]);
}
}
file.close();
System.out.println("斐波那契数列写入到文件成功。");
} catch (IOException e) {
System.out.println("无法创建输出文件,"+e.getMessage());
}
}
private void eg2() {
//创建输入流
PrintWriter writer = null;
try {
writer=new PrintWriter("It_heima\\src\\IO流实验四\\99.txt");
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
//写入文件
writer.printf("%d×%d=%-2d ",j,i,i*j);
}
writer.println();
}
System.out.println("九九乘法表写入文件成功。");
} catch (FileNotFoundException e) {
System.out.println("无法创建输出文件,"+e.getMessage());
}finally {
writer.close();
}
}
private void eg1() {
try {
//先创建输入和输出流
FileInputStream fis=new FileInputStream("It_heima\\src\\IO流实验四\\source.txt");
FileOutputStream fos=new FileOutputStream("It_heima\\src\\IO流实验四\\target.txt");
// 定义缓存数组
byte[] arr=new byte[1024];
int i;
// 读取输入流,写入输出流
while ((i=fis.read(arr))!=-1){
fos.write(arr,0,i);
}
//关闭输入流和输出流
fis.close();
fos.close();
System.out.println("文件复制成功。");
} catch (IOException e) {
System.out.println("文件复制失败。"+e.getMessage());
}
}
}
最近都懈怠了,我真是该死。
我偷了黄昏的酒,
想要一醉方休,
可我不敢下口,
因为他是光明的残留,
因为他是黑暗的前夕,
我还是不敢下口,
于是我把它撒下,
在我深爱的这片土地,
因为我知道这片土地存在的血液
永远比那一杯酒更烈!
完成收工,good!
虽然“天不生无用之人,地不长无名之草”。但仍谨记“冰冻三尺,非一日之寒”。
执长剑纵马,执妙笔生花,我王某人在此邀请诸位与我共身!