用java编写:给定一个文本文件d:\numbers.txt,从文件中读取所有整数,并将所有偶数输出到文件d:\evens.txt,将所有奇数输出到文件d: \odds.txt,并将所有素数输出到文件:\primes.txt。
时间: 2024-05-01 13:17:28 浏览: 96
使用RandomAccessFile流将一个文本文件读出,并导致写入到另一个文件当中。
3星 · 编辑精心推荐
好的,这是一个编程问题,我可以提供帮助。以下是代码示例。
```java
import java.io.*;
public class FileIO {
public static boolean isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
public static void main(String[] args) {
FileReader fr = null;
BufferedReader br = null;
FileWriter evenWriter = null;
FileWriter oddWriter = null;
FileWriter primeWriter = null;
try {
fr = new FileReader("d:\\numbers.txt");
br = new BufferedReader(fr);
evenWriter = new FileWriter("d:\\evens.txt");
oddWriter = new FileWriter("d:\\odds.txt");
primeWriter = new FileWriter("d:\\primes.txt");
String line = null;
while ((line = br.readLine()) != null) {
int num = Integer.parseInt(line);
if (num % 2 == 0) {
evenWriter.write(num + System.getProperty("line.separator"));
} else {
oddWriter.write(num + System.getProperty("line.separator"));
}
if (isPrime(num)) {
primeWriter.write(num + System.getProperty("line.separator"));
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fr != null) {
fr.close();
}
if (br != null) {
br.close();
}
if (evenWriter != null) {
evenWriter.close();
}
if (oddWriter != null) {
oddWriter.close();
}
if (primeWriter != null) {
primeWriter.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
```
该程序使用FileReader和BufferedReader读取文本文件中的整数,使用FileWriter将偶数、奇数和素数分别输出到不同的文件中。函数isPrime用于判断一个整数是否为素数。
请注意,程序中的文件路径是硬编码的,可以根据需要修改。
阅读全文