在第一次运行时,我想用新文件名将给定的文件复制到新位置。
每次后续运行都应覆盖第一次运行期间创建的相同目标文件。
在第一次运行期间,目标文件不存在。只有目录存在。
我编写了以下程序:
package myTest;
import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
import java.net.URL;
import java.nio.file.Paths;
import org.apache.commons.io.FileUtils;
public class FileCopy {
public static void main(String[] args) {
TestFileCopy fileCopy = new TestFileCopy();
File sourceFile = new File("myFile.txt");
fileCopy.saveFile(sourceFile);
File newSourceFile = new File("myFile_Another.txt");
fileCopy.saveFile(newSourceFile);
}
}
class TestFileCopy {
private static final String DEST_FILE_PATH = "someDir/";
private static final String DEST_FILE_NAME = "myFileCopied.txt";
public void saveFile(File sourceFile) {
URL destFileUrl = getClass().getClassLoader().getResource(DEST_FILE_PATH
+ DEST_FILE_NAME);
try {
File destFile = Paths.get(destFileUrl.toURI()).toFile();
FileUtils.copyFile(sourceFile, destFile);
} catch (IOException | URISyntaxException e) {
e.printStackTrace();
}
}
}
但是,这会在以下行引发空指针异常:
File destFile = Paths.get(destFileUrl.toURI()).toFile();
我错过了什么?目录someDir直接位于eclipse中项目的根目录下。两个源文件都是myFile。txt和myFile\u另一个。txt直接存在于eclipse中项目的根目录下。
我用了这个,它就像我所期待的那样:
public void saveFile1(File sourceFile) throws IOException {
Path from = sourceFile.toPath();
Path to = Paths.get(DEST_FILE_PATH + DEST_FILE_NAME);
Files.copy(from, to, StandardCopyOption.REPLACE_EXISTING);
}
使用Java nio。
问题内容: 我想使用Python制作netcdf文件的副本。 关于如何读取或写入netcdf文件,有很多很好的示例,但是也许还有一个很好的方法,可以进行变量的输入,然后输出到另一个文件。 一个好的方法很不错,以便以最低的成本获得尺寸和尺寸变量到输出文件。 问题答案: 我在python netcdf上 找到了此问题的答案:制作了所有变量和属性的一个副本,但一个副本,但我需要对其进行更改以使其与我的p
使用Java8。 为了获得最佳性能,我尝试用复制文件,但很快发现它不支持汉字。例如: 代码打算从jar复制一个文件,但它抛出了一个异常(a“我的" 文件夹已提前创建): 问题是鎴戠殑" 甚至连一个中国人都看不懂,所以我正在寻找一个解决办法来处理汉字。 我也尝试了FileChannel,但失败了,意识到它用于直接文件,而不是在一个jar中的文件。我该怎么做?
我是新使用python阅读文本文件。我需要读一个文件,每行有4个我需要的数据,这是我的文本文件 我的问题是,如果我使用,它只用每行创建一个向量,但是我只需要一个向量用于第一列,一个用于第二列,一个用于第三列,还有一个用于第四列...有谁能帮帮我吗?
问题内容: 除了以下以外,任何人都有另一种在bash中查找和复制文件的方式: 我喜欢这种方式,因为它很灵活,因为我正在构建命令(可以通过任何命令执行)并在之后执行它。 还有其他简化命令到文件列表的方法吗? 谢谢 问题答案: 我建议使用的选项: 与往常一样,请查阅手册页以获得最佳结果。
我正在使用骆驼复制文件,但它没有发生,我正在使用Mac。抛出的消息为
进程无法访问文件'd:\app_data\',因为另一个进程正在使用它。 这是我一直在用的代码