当前位置:首页 > 操作系统 > Windows

关于文件操作中,在windows上正常,在linux上“No such file or directory”异常

关于文件操作中,在Windows上正常,在linux上“No such file or directory”异常

最近在项目中负责文件系统的功能编写。包括文件的上传、下载和部分文件的预览功能实现。

在开发过程中程序能够正常运行,但是项目部署到了测试环境linux系统时,出现文件上传后无法下载的情况,后面查看日志,发现报“No such file or directory”,因为在开发环境中是正常的,所以一时没有发现问题所在,后面通过详细的查看日志,发现是文件路径出错了,才了解到是Windows和linux系统的文件路径有差别,在Windows中,”“和”/“都能正常识别,而在Linux系统中,只能使用”/“来代表文件路径。后面通过学习,发现早已有解决这个问题,File类中的separator就是用来表示路径分隔符的,可以完美适应系统,所以我把代码中的”“都改成了File.separator,系统就正常运行了。

比如说要在temp目录下建立一个test.txt文件,在Windows下应该这么写:

        <code>File file1 = new File ("C:	mp	est.txt");
</code>
    

在Linux下则是这样的:

        <code>File file2 = new File ("/tmp/test.txt");
</code>
    

如果要考虑跨平台,则最好是这么写:

        <code>File myFile = new File("C:" + File.separator + "tmp" + File.separator + "test.txt");
</code>
    

原文:https://www.cnblogs.com/hooong/p/14752107.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐