java clean Directory() 如何使目录路径与操作系统无关

标签 java junit automation selenide

请帮我解决问题。我正在测试文件下载过程,并在 MAC OS 上使用 @AfterClass cleanDirectory() 清理下载目录

@AfterClass
public static void clearDownloadDirectory() throws IOException{
    FileUtils.cleanDirectory(new File("/Users/irina/Downloads"));
}

如何使下载目录路径平台独立,以便它也适用于 Windows?

也许我正在以错误的方式寻找答案。我需要做的主要事情是从“下载”文件夹中删除所有 xlsx 文件。

最佳答案

根据您的应用,您可以使用 System.getProperty("os.name")

也许是这样的

//...
String url;
switch( System.getProperty("os.name") ) {
    case "Windows 8.1":
    case "Windows Vista":
    //etc for all windows systems
    {
      url = "C:/Users/user_name/downloads..."
      break;
    }
    case "Mac OS X": //...
    case "SunOS": //...
    case "Linux": //...
    //etc all systems you want to support
}

编辑

另外System.getProperty("user.home")可以帮助你

"user.home" User home directory

Java System properties list

关于java clean Directory() 如何使目录路径与操作系统无关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39615314/

相关文章:

java - 在 Mac OS X 上安装、配置和运行 Hadoop 2.2.0

java - 构建项目时的 Maven 配置

java - 测试数据库结果

具有许多私有(private)方法的 Java 测试类

javascript - 如何在 selenium 中选择一个选项

JSF 中的 Java Web 服务 URL

java - Spark从对象的RDD创建Dataframe,列顺序

python - Python 中的嵌套函数调用

java - 有些Ashot策略有 "simulator"字样,它们有什么区别?

ruby - 鼠标悬停在水面上,没有检测到