使用Java Files API時,我遇到了(Linux)Jenkins服務器上的問題。Jenkins上的Java文件行爲
集成測試失敗,它使用JUnit TemporaryFolder
。測試執行以下代碼:
Path expectedPath = tmpFolder.getRoot().toPath().resolve("folder1/folder2");
// create files
assertTrue(Files.exists(expectedPath.resolve("newFile1.txt")));
的本地測試通過,我在日誌中詹金斯看到運行expectedPath
被成功創建,但什麼讓我困惑的是「路徑」我的新文件:
/tmp/junit0219318729037123/folder1\/folder2/newFile1.txt
爲什麼\/
被引入?這是Linux上文件的一些怪癖,還是我的tmpFolder
有問題?
你能告訴我們你如何創建新的文件?它看起來像'newFile1.txt'位於名爲'folder1/folder2'的文件夾中,而不在'folder2'(位於'folder1') – NiziL
當我創建文件時,我使用'Files.createDirectories'來創建folder1和然後我使用'Files.write(myFilePath,someBytes,StandardOpenOption.CREATE_NEW,StandardOpenOption.WRITE'。 – Rossiar
顯然有一個問題是編程文件或文件夾的創建。您能否爲我們提供一個完整的代碼片段來創建文件? –