java中1、复制一个已经存在的文本文件,生成一个新文件。 2、用PrintWriter流将九九乘法表写入到文件99.txt中。 3、将斐波那契数列的前10项写入到随机存取文件fei.dat中。 4、编程读取fei.dat文件中所有数据,计算其累加和,并添加到原有数据的后面。 5、将fei.dat文件的最后修改时间修改为前一天。
时间: 2024-02-12 12:06:16 浏览: 97
java异步写日志到文件中实现代码
好的,我会为您解答这些问题。
1. Java中复制一个已经存在的文本文件,生成一个新文件的代码如下:
```java
import java.io.*;
public class FileCopy {
public static void main(String[] args) throws IOException {
File sourceFile = new File("source.txt");
File targetFile = new File("target.txt");
try (BufferedReader reader = new BufferedReader(new FileReader(sourceFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(targetFile))) {
String line;
while ((line = reader.readLine()) != null) {
writer.write(line);
writer.newLine();
}
}
}
}
```
这个程序会将`source.txt`文件中的内容复制到`target.txt`文件中。
2. 用PrintWriter流将九九乘法表写入到文件`99.txt`中的代码如下:
```java
import java.io.*;
public class MultiplicationTable {
public static void main(String[] args) throws IOException {
PrintWriter writer = new PrintWriter(new FileWriter("99.txt"));
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
writer.print(j + "×" + i + "=" + (i * j) + " ");
}
writer.println();
}
writer.close();
}
}
```
这个程序会将九九乘法表写入到`99.txt`文件中。
3. 将斐波那契数列的前10项写入到随机存取文件`fei.dat`中的代码如下:
```java
import java.io.*;
public class Fibonacci {
public static void main(String[] args) throws IOException {
RandomAccessFile file = new RandomAccessFile("fei.dat", "rw");
for (int i = 1; i <= 10; i++) {
int fib = fibonacci(i);
file.writeInt(fib);
}
file.close();
}
private static int fibonacci(int n) {
if (n <= 2) {
return 1;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
}
```
这个程序会将斐波那契数列的前10项写入到`fei.dat`文件中。
4. 编程读取`fei.dat`文件中所有数据,计算其累加和,并添加到原有数据的后面的代码如下:
```java
import java.io.*;
public class AddFibonacci {
public static void main(String[] args) throws IOException {
RandomAccessFile file = new RandomAccessFile("fei.dat", "rw");
long sum = 0;
int count = 0;
while (file.getFilePointer() < file.length()) {
sum += file.readInt();
count++;
}
file.seek(file.length());
for (int i = count + 1; i <= 20; i++) {
int fib = fibonacci(i);
file.writeInt(fib);
sum += fib;
}
System.out.println("累加和:" + sum);
file.close();
}
private static int fibonacci(int n) {
if (n <= 2) {
return 1;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
}
```
这个程序会读取`fei.dat`文件中所有的数据,并计算它们的累加和。然后,它会将斐波那契数列的第11到20项写入到文件的后面,并输出累加和。
5. 将`fei.dat`文件的最后修改时间修改为前一天的代码如下:
```java
import java.io.*;
import java.nio.file.*;
import java.nio.file.attribute.*;
import java.time.*;
import java.time.temporal.*;
public class ModifyFileTime {
public static void main(String[] args) throws IOException {
Path path = Paths.get("fei.dat");
BasicFileAttributeView view = Files.getFileAttributeView(path, BasicFileAttributeView.class);
FileTime lastModifiedTime = view.readAttributes().lastModifiedTime();
FileTime newLastModifiedTime = FileTime.from(lastModifiedTime.toInstant().minus(1, ChronoUnit.DAYS));
view.setTimes(newLastModifiedTime, null, null);
}
}
```
这个程序会将`fei.dat`文件的最后修改时间修改为前一天的时间。
阅读全文