写一程序将一个文件fin.txt拷贝至另一个文件fout.txt, 其中在所拷贝的文件中, 多个连续空格只拷贝一个空格, 制表符则用一个空格代替, 其它字符不变。 用以下代码编写: FileReader fr = new FileReader("fin.txt"); ...... int i = fr.read(); ...... if((char)i==' '||(char)i=='\t') {......}
时间: 2024-02-03 09:03:34 浏览: 68
文件拷贝(read() write()实现)
可以使用以下代码实现:
```java
import java.io.*;
public class CopyFile {
public static void main(String[] args) {
try {
FileReader fr = new FileReader("fin.txt");
FileWriter fw = new FileWriter("fout.txt");
int i = fr.read();
while (i != -1) {
if ((char)i == ' ') {
fw.write(' ');
while ((char)i == ' ') {
i = fr.read();
}
} else if ((char)i == '\t') {
fw.write(' ');
i = fr.read();
} else {
fw.write(i);
i = fr.read();
}
}
fr.close();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
其中,使用 `FileReader` 和 `FileWriter` 分别读取和写入文件。在读取时,如果遇到连续的空格,则只写入一个空格;如果遇到制表符,则写入一个空格代替;否则直接写入该字符。最后,需要关闭文件流。
阅读全文