写一程序将一个文件fin.txt拷贝至另一个文件fout.txt, 其中在所拷贝的文件中, 多个连续空格只拷贝一个空格, 制表符则用一个空格代替, 其它字符不变。 其中fin.txt和fout.txt文件都在当前目录下。 注意:java源文件与fin.txt一起压缩提交。 程序中的部分代码可编写如下: FileReader fr = new FileReader("fin.txt"); ...... int i = fr.read(); ...... if((char)i==' '||(char)i=='\t') {......}
时间: 2024-02-15 11:04:12 浏览: 46
商业编程-源码-一个简单的端口扫描程序题.zip
好的,下面是Java实现的代码:
```java
import java.io.*;
public class FileCopy {
public static void main(String[] args) {
try {
FileReader fr = new FileReader("fin.txt");
FileWriter fw = new FileWriter("fout.txt");
int c, prev = 0;
while ((c = fr.read()) != -1) {
if (c == ' ' || c == '\t') {
if (prev != ' ') {
fw.write(' ');
}
prev = ' ';
} else {
fw.write(c);
prev = c;
}
}
fr.close();
fw.close();
System.out.println("文件拷贝完成!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这段代码使用了Java的文件输入输出流,通过读取原文件的内容并按照题目要求进行处理后,再将处理后的内容写入到目标文件中。在处理过程中,使用了一个prev变量来记录上一个字符是什么,以便在遇到多个连续空格时,只输出一个空格。
阅读全文