gpt4 book ai didi

Java I/O 流

转载 作者:行者123 更新时间:2023-12-01 16:51:05 24 4
gpt4 key购买 nike

我正在尝试使用 Java I/O Stream 将一个文件的内容复制到另一个文件。我为此编写了以下代码,但它仅复制源文件的最后一个字母。

   package io.file;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;


public class FileCopyTester {

public void copyFile() {
FileInputStream fis = null;
try{
fis = new FileInputStream("resources/Source.txt");
System.out.println("Started copying");
int data = fis.read();

while (data != -1){
try (FileOutputStream fos = new FileOutputStream("resources/Destination.docx")){
fos.write(data);
fos.close();
}
catch (IOException io) {
System.err.println("Error o/p:"+io.getMessage());
}
System.out.print((char)data+" ");
data = fis.read();
}
fis.close();
System.out.println("End Copying");
}

catch(IOException ioe){
System.err.println("ERROR: "+ioe.getMessage());
}

}

public static void main(String[] args) {
new FileCopyTester().copyFile();
}
}

在源文件中我有类似的数据22/73.142857

所以在目的地我只能得到7如果我在其中遗漏了某些内容,例如不应覆盖目标文件中的数据,请提供帮助。

最佳答案

每次都会用一个字节覆盖文件。

解决方案:在 while 循环外部打开输出流,然后将其关闭。

关于Java I/O 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40006116/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com