gpt4 book ai didi

java - 写入不同的文件而不是覆盖文件

转载 作者:行者123 更新时间:2023-12-01 14:30:25 24 4
gpt4 key购买 nike

我想知道java中是否有一个选项可以从特定路径读取文件,即C:\test1.txt更改内存中文件的内容并将其复制到D :\test2.txtC:\test1.txt 的内容不会改变,但受影响的文件将为 D:\test2.txt

谢谢

最佳答案

作为一种基本解决方案,您可以从一个 FileInputStream 中读取 block 并写入 FileOutputStream:

import java.io.*;
class Test {
public static void main(String[] _) throws Exception{
FileInputStream inFile = new FileInputStream("test1.txt");
FileOutputStream outFile = new FileOutputStream("test2.txt");

byte[] buffer = new byte[128];
int count;

while (-1 != (count = inFile.read(buffer))) {
// Dumb example
for (int i = 0; i < count; ++i) {
buffer[i] = (byte) Character.toUpperCase(buffer[i]);
}
outFile.write(buffer, 0, count);
}

inFile.close();
outFile.close();
}
}

如果您明确希望将整个文件存储在内存中,您还可以将输入包装在 DataInputStream 中并使用 readFully(byte[])使用 File.length() 计算出文件的大小后。

关于java - 写入不同的文件而不是覆盖文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16894389/

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