Java - 如何使用 FileUtils 移动文件?
Java - How to move files using FileUtils?
每个人都在说使用 fileutils 将文件从 a 点移动到 b 点是多么简单,但我在移动文件时遇到了很多麻烦:(
我在 .jar 所在的目录中有一个 /temp/ 文件夹,在这个临时文件夹中我有一个 .txt 文件,我想向上移动一个目录(所以基本上在 .jar 文件旁边)但是我好像做不到?
这是一些代码,但我知道它还差得远:
public void replaceFile() {
String absolutePath = getPath();
Path from = Paths.get(absolutePath + "\temp\test.txt");
Path to = Paths.get(absolutePath + "\test.txt");
try {
FileUtils.moveFile(FileUtils.getFile(from.toAbsolutePath().toString()), FileUtils.getFile(to.toAbsolutePath().toString()));
JOptionPane.showMessageDialog(null, "test");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public String getPath() {
File jarDir = new File(ClassLoader.getSystemClassLoader().getResource(".").getPath());
//JOptionPane.showMessageDialog(null, jarDir.getAbsolutePath());
return jarDir.getAbsolutePath();
}
感谢任何帮助:\
为什么不将此 Java API 用于 Moving a File or Directory
Files.move(from, to, StandardCopyOption.REPLACE_EXISTING);
更新
查看您的源代码,我建议采用以下实现方式:
Path from = Paths.get(absolutePath, "/temp/test.txt");
Path to = Paths.get(absolutePath, "/test.txt");
try {
Files.move(from, to, StandardCopyOption.REPLACE_EXISTING);
JOptionPane.showMessageDialog(null, "test");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
好的,我设法做到了,显然 getPath() 方法返回了一些有趣的路径,但在那里失败了,所以这是一个有效的代码
public void downloadJar() {
String absolutePath = getPath();
String from = absolutePath + "\temp\test.txt";
String to = absolutePath + "\test.txt";
File fileTo = new File(to);
File fileFrom = new File(from);
try {
FileUtils.moveFile(fileFrom, fileTo);
JOptionPane.showMessageDialog(null, "test");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
JOptionPane.showMessageDialog(null, "io exce");
}
}
public String getPath() {
return System.getProperty("user.dir");
}
谢谢大家
每个人都在说使用 fileutils 将文件从 a 点移动到 b 点是多么简单,但我在移动文件时遇到了很多麻烦:(
我在 .jar 所在的目录中有一个 /temp/ 文件夹,在这个临时文件夹中我有一个 .txt 文件,我想向上移动一个目录(所以基本上在 .jar 文件旁边)但是我好像做不到?
这是一些代码,但我知道它还差得远:
public void replaceFile() {
String absolutePath = getPath();
Path from = Paths.get(absolutePath + "\temp\test.txt");
Path to = Paths.get(absolutePath + "\test.txt");
try {
FileUtils.moveFile(FileUtils.getFile(from.toAbsolutePath().toString()), FileUtils.getFile(to.toAbsolutePath().toString()));
JOptionPane.showMessageDialog(null, "test");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public String getPath() {
File jarDir = new File(ClassLoader.getSystemClassLoader().getResource(".").getPath());
//JOptionPane.showMessageDialog(null, jarDir.getAbsolutePath());
return jarDir.getAbsolutePath();
}
感谢任何帮助:\
为什么不将此 Java API 用于 Moving a File or Directory
Files.move(from, to, StandardCopyOption.REPLACE_EXISTING);
更新
查看您的源代码,我建议采用以下实现方式:
Path from = Paths.get(absolutePath, "/temp/test.txt");
Path to = Paths.get(absolutePath, "/test.txt");
try {
Files.move(from, to, StandardCopyOption.REPLACE_EXISTING);
JOptionPane.showMessageDialog(null, "test");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
好的,我设法做到了,显然 getPath() 方法返回了一些有趣的路径,但在那里失败了,所以这是一个有效的代码
public void downloadJar() {
String absolutePath = getPath();
String from = absolutePath + "\temp\test.txt";
String to = absolutePath + "\test.txt";
File fileTo = new File(to);
File fileFrom = new File(from);
try {
FileUtils.moveFile(fileFrom, fileTo);
JOptionPane.showMessageDialog(null, "test");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
JOptionPane.showMessageDialog(null, "io exce");
}
}
public String getPath() {
return System.getProperty("user.dir");
}
谢谢大家