假设我将文件A
重命名为B
。现在我想测试吧。 我可以测试B
存在和A
没有。不过,我需要确保B
实际上是更名为A
。我怎样才能用Java和Linux来做到这一点。如何在Java中测试重命名
0
A
回答
2
1
的散列你可以前后重命名后,比较文件的MD5校验。
1
你为什么不信任只是指示是否重命名工作或不File.renameTo(File)返回布尔?
1
import java.io.File;
public class Main {
public static void main(String[] args) {
File oldName = new File("C:/java1.txt");
File newName = new File("C:/java2.txt");
if(oldName.renameTo(newName)) {
System.out.println("renamed");
} else {
System.out.println("Error");
}
}
}
现在确认你可以存储在字符串中的文件内容都喜欢
String contentOld = new Scanner(new File("java1.txt")).useDelimiter("\\Z").next();
String contentNew = new Scanner(new File("java2.txt")).useDelimiter("\\Z").next();
现在文件康普艾两个字符串,你将得到的结果
contentOld.equals(contentNew)
如果两者都有相同的内容它会返回true
0
这是简单
if(B.exists()) throw new java.io.IOException("file already exists");
boolean success = A.renameTo(B);
if (success) {
// File is successfully renamed.
}
但这种方式是平台相关的API提到:http://docs.oracle.com/javase/7/docs/api/java/io/File.html#renameTo%28java.io.File%29
相反,你可以使用
在平台独立的方式,这会因您检查相关异常文件是否真的被重命名。如果该方法返回到目标文件的路径,则它已被正确重命名,否则会引发异常。你可以参考这个链接。
相关问题
- 1. IntelliJ在Java中用Spock重命名重命名 - 不重命名测试文件
- 2. 如何在SoapUi中使用Groovy重命名测试用例或测试步骤
- 3. 如何在Testrails中重命名测试运行
- 4. 如何在java中重命名文件
- 5. 如何在Java中重命名文件?
- 6. 重命名在Java
- 7. 如何命名在Java中
- 8. 如何测试命名路线?
- 9. 如何在java中使用新名称重命名简历(.doc)
- 10. 如何在eclipse中重命名/重构整个libgdx/java项目
- 11. c#单元测试 - 重载方法测试的命名约定
- 12. 你如何测试重命名的部分方法?
- 13. 如何在Django中重命名表名?
- 14. 如何在swift中重命名类名?
- 15. 如何重命名调试信息?
- 16. 如何使用java重命名文件
- 17. 如何重命名文件java?
- 18. 如何重命名Java .class文件?
- 19. 如何设置测试的命名空间的名称在xunit.console
- 20. (Re)在数据库单元测试中命名测试条件
- 21. 我们应该如何在Visual Studio中命名测试?
- 22. 如何在PHPUnit中命名测试方法
- 23. 当被测试的类被重命名时,eclipse会自动重命名单元测试类吗?
- 24. 如何在命令行中测试AJAX?
- 25. 如何在Angular-CLI中测试命令?
- 26. 如何在Eclipse中重命名整个Java包名称,以便重命名其全部名称?
- 27. 如何在Tortoise HG Workbench中检测重命名
- 28. 如何在Windows中检测文件重命名/移动
- 29. 在Java中重命名线程
- 30. 在java中重命名文件
难道你不需要做一些低级别的东西与inode?超越java的范围。 – Bathsheba
是的,inode是我想检查的内容。但是,我担心我不能用Java(以便携方式)来做到这一点。 – Michael