Java中1、复制一个已经存在的文本文件,生成一个新文件。 2、用PrintWriter流将九九乘法表写入到文件99.txt中。 3、将斐波那契数列的前10项写入到随机存取文件fei.dat中。 4、编程读取fei.dat文件中所有数据,计算其累加和,并添加到原有数据的后面。 5、将fei.dat文件的最后修改时间修改为前一天。
时间: 2024-02-12 16:05:06 浏览: 66
好的,我会尽力回答您的问题,以下是我对您提出的问题的回答:
1. 复制一个已经存在的文本文件,生成一个新文件可以使用Java的文件输入输出流来实现。可以先读取原文件的内容,然后再将内容写入到新文件中。代码如下:
```java
import java.io.*;
public class FileCopy {
public static void main(String[] args) {
String srcFileName = "source.txt";
String destFileName = "destination.txt";
try {
FileInputStream fis = new FileInputStream(srcFileName);
FileOutputStream fos = new FileOutputStream(destFileName);
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) > 0) {
fos.write(buffer, 0, len);
}
fis.close();
fos.close();
System.out.println("文件复制成功");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
2. 将九九乘法表写入到文件99.txt中,可以使用PrintWriter流来实现。代码如下:
```java
import java.io.*;
public class MultiplicationTable {
public static void main(String[] args) {
String fileName = "99.txt";
try {
PrintWriter pw = new PrintWriter(new FileWriter(fileName));
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
pw.print(j + "x" + i + "=" + (i * j) + "\t");
}
pw.println();
}
pw.close();
System.out.println("九九乘法表写入成功");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
3. 将斐波那契数列的前10项写入到随机存取文件fei.dat中,可以使用RandomAccessFile类来实现。代码如下:
```java
import java.io.*;
public class Fibonacci {
public static void main(String[] args) {
String fileName = "fei.dat";
try {
RandomAccessFile raf = new RandomAccessFile(fileName, "rw");
long[] fib = new long[10];
fib[0] = 0;
fib[1] = 1;
for (int i = 2; i < 10; i++) {
fib[i] = fib[i - 1] + fib[i - 2];
}
for (int i = 0; i < 10; i++) {
raf.writeLong(fib[i]);
}
raf.close();
System.out.println("斐波那契数列写入成功");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
4. 编程读取fei.dat文件中所有数据,计算其累加和,并添加到原有数据的后面。代码如下:
```java
import java.io.*;
public class FibonacciSum {
public static void main(String[] args) {
String fileName = "fei.dat";
try {
RandomAccessFile raf = new RandomAccessFile(fileName, "rw");
long sum = 0;
for (int i = 0; i < 10; i++) {
sum += raf.readLong();
}
raf.seek(raf.length());
raf.writeLong(sum);
raf.close();
System.out.println("累加和写入成功");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
5. 将fei.dat文件的最后修改时间修改为前一天,可以使用File类和Calendar类来实现。代码如下:
```java
import java.io.*;
import java.util.Calendar;
public class FileLastModified {
public static void main(String[] args) {
String fileName = "fei.dat";
try {
File file = new File(fileName);
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(file.lastModified());
cal.add(Calendar.DATE, -1);
file.setLastModified(cal.getTimeInMillis());
System.out.println("文件最后修改时间修改成功");
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
希望我的回答能够帮助到您!
阅读全文