m0_60983761 2023-03-15 15:10 采纳率: 89.5%
浏览 22
已结题

java复制linux服务器下文件

java写了个复制文件夹下所有内容到webapps/ROOT 目录下的接口。在windows下测试是正常的层级,然而到linux服务器上层级的名称都被拼接到了文件名中, 我的文件路径写的是/data/tomcat/webapps/ROOT/ 这个该怎么搞啊

img

  • 写回答

3条回答 默认 最新

  • 海拥✘ 优质创作者: 编程框架技术领域 2023-03-15 15:24
    关注

    可能是因为在Windows和Linux系统中,文件路径的分隔符不同导致的。在Windows系统中,文件路径分隔符为反斜杠\,而在Linux系统中,文件路径分隔符为正斜杠/。

    为了在不同的系统上都能正确地识别文件路径,可以使用Java中的File.separator来表示文件路径分隔符。File.separator是Java中表示文件路径分隔符的常量。

    例如,在您的代码中,如果您要表示/data/tomcat/webapps/ROOT/这个路径,可以使用以下方式:

    String rootPath = File.separator + "data" + File.separator + "tomcat" + File.separator + "webapps" + File.separator + "ROOT" + File.separator;
    

    这样,在不同的操作系统上运行时,就可以正确地识别文件路径分隔符,并将文件复制到正确的位置。

    希望这个解决方案对您有所帮助!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月23日
  • 已采纳回答 3月15日
  • 创建了问题 3月15日