gpt4 book ai didi

java - 尝试使用 Java 中的 RandomAccessFile 复制文件

转载 作者:行者123 更新时间:2023-12-01 09:57:59 24 4
gpt4 key购买 nike

我正在尝试使用 Java 中的 RandomAccessFile 复制简单的 .txt 数据。我编写了以下程序:

我的主要方法:

public static void main(String args[]){
File original = new File("C:\\Users\\Tjatte\\Documents\\testdatei.txt");
File copy = new File("C:\\Users\\Tjatte\\Documents\\testdateicopy.txt");
copy(original,copy);
}

我的静态复制方法

public static void copy(File main,File copy){
try{
RandomAccessFile data = new RandomAccessFile(main,"rw");
RandomAccessFile datacopy = new RandomAccessFile(copy,"rw");

datacopy.seek(0);
for(int i = 0; i < main.length(); i++){
datacopy.write(data.read());
data.skipBytes(i);
}
}catch(IOException e){
}
}

每当我想复制其中包含文本“hello”的文件时,复制文件中的输出是“halÿÿ”...但它必须是“hello”。

非常感谢任何帮助!提前致谢。

最佳答案

我更喜欢 Files.copy(Path, OutputStream)和一个try-with-resources close喜欢

public static void copy(File main, File copy) {
try (OutputStream fos = new FileOutputStream(copy)) {
Files.copy(main.toPath(), fos);
} catch (IOException ioe) {
ioe.printStackTrace();
}
}

,如 @Andreas 所指出的在评论中,使用 Files.copy(Path, Path, CopyOption...)喜欢

try {
Files.copy(main.toPath(), copy.toPath());
} catch (IOException e) {
e.printStackTrace();
}

关于java - 尝试使用 Java 中的 RandomAccessFile 复制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37033832/

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