`

java - File - separator - 不同OS下的分隔符

    博客分类:
  • java
 
阅读更多

关于File.separator 文件路径:wind与linux下路径问题 .

 

最近有个在页面上传Excel文件至服务器指定目录并进行数据校验、最后入库及进行进一步处理的应用情境,我写好代码在模拟环境下测试,完全没问题;但客户试用的时候,却老是报告“No such file or diretory ”的异常,上传不了。后来发现是文件路径的问题。我的模拟测试环境是windows+tomcat,而客户的环境是linux+tomcat,文件路径的分隔符在windows系统和linux系统中是不一样。 

比如说要在temp目录下建立一个test.txt文件,在Windows下应该这么写: 
File file1 = new File ("C:\tmp\test.txt"); 
在Linux下则是这样的: 
File file2 = new File ("/tmp/test.txt"); 

如果要考虑跨平台,则最好是这么写: 
File myFile = new File("C:" + File.separator + "tmp" + File.separator, "test.txt"); 

File类有几个类似separator的静态字段,都是与系统相关的,在编程时应尽量使用。 

separatorChar 

public static final char separatorChar 

与系统有关的默认名称分隔符。此字段被初始化为包含系统属性 file.separator 值的第一个字符。在 UNIX 系统上,此字段的值为 '/';在 Microsoft Windows 系统上,它为 '\'。 

separator 

public static final String separator 

与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。此字符串只包含一个字符,即 separatorChar。 

pathSeparatorChar 

public static final char pathSeparatorChar 

与系统有关的路径分隔符。此字段被初始为包含系统属性 path.separator 值的第一个字符。此字符用于分隔以路径列表 形式给定的文件序列中的文件名。在 UNIX 系统上,此字段为 ':';在 Microsoft Windows 系统上,它为 ';'。 

pathSeparator 

public static final String pathSeparator 

与系统有关的路径分隔符,为了方便,它被表示为一个字符串。此字符串只包含一个字符,即 pathSeparatorChar。

来自:http://www.cnblogs.com/qqzy168/archive/2013/06/14/3136168.html

分享到:
评论

相关推荐

    Java 运行时环境版本

    - **`file.separator`**:定义了文件分隔符,在不同的操作系统中有不同的值。例如,在UNIX系统中是“/”,而在Windows中是“\”。 - **`path.separator`**:表示路径分隔符,用于分割路径中的各个部分。例如,在UNIX...

    Java中System.getProperty的使用

    - `file.separator`: 文件分隔符(UNIX系统中通常为“/”)。 - `path.separator`: 路径分隔符(UNIX系统中通常为“:”)。 - `line.separator`: 行分隔符(UNIX系统中通常为“\n”)。 - `user.name`: 用户名。 - `...

    java获取当前系统信息

    - **文件分隔符**:`file.separator`,用于分隔文件路径中的目录,例如在Unix系统中为“/”。 - **路径分隔符**:`path.separator`,用于分隔类路径中的多个条目,在Unix系统中为“:”。 - **行分隔符**:`line....

    java项目路径(相关信息)的取得

    通过上述介绍,我们可以看到`System.getProperty()`方法的强大功能,它可以帮助开发者更好地理解和控制Java应用程序在不同环境下的行为。在实际开发过程中,灵活运用这些系统属性能够大大提高应用程序的健壮性和可...

    java内核分析.pdf

    - `file.separator`: 文件路径分隔符,例如在Windows上是`\`,在Unix或Linux上是`/`。 - `path.separator`: 环境变量或类路径中的条目分隔符。 - `line.separator`: 行结束符,根据操作系统不同而变化。 系统属性...

    java IO数据流

    Java中处理文件路径时,需注意不同操作系统间路径分隔符的差异。Windows系统使用 `\` ,而Linux/Unix/Mac OS X系统使用 `/` 。`File` 类提供了多种方法帮助我们处理这些细节: - `separator`: 与系统相关的默认名称...

    关于java获取操作系统信息

    返回路径名分隔符,在Unix/Linux系统中为`:`, 在Windows系统中为`;`。 ### 14. 获取行分隔符 #### 14.1 `line.separator` 返回行分隔符,通常在Unix/Linux系统中为`\n`。 ### 15. 获取用户名信息 #### 15.1 `...

    JAVA调用第三方DLL的方法

    - `file.separator`:文件分隔符,例如在UNIX系统上为"/"。 通过这些属性,我们可以更好地理解Java运行时环境,并针对性地配置和调试我们的程序。在调用第三方DLL时,确保遵循正确的步骤,匹配正确的版本,并根据...

    java获取系统参数

    文件、路径和行的分隔符可通过`file.separator`、`path.separator`和`line.separator`获取,它们在不同操作系统中有所不同。`user.name`和`user.home`分别提供了当前用户的用户名和家目录,而`user.dir`则是用户当前...

    在Java中获取系统属性.doc

    - `file.separator`:文件分隔符,Windows下为`\`,Unix/Linux下为`/`。 - `user.home`:用户的主目录。 - `java.home`:Java实时运行环境的安装目录。 - `java.ext.dirs`:JDK的扩展目录,包含额外的JAR文件。 - `...

    9异常,系统属性,Math类.rar

     ●file.separator:文件分隔符,Windows环境下为“",Unix环境下为“/”;  ●user.home:用户主目录;  ●java.home:Java实时运行环境的安装目录;  ●java.ext.dirs:JDK的安装目录;  ●os.name:操作...

    windows操作系统中的系统属性.docx

    23. **file.separator** - 文件分隔符,在Windows中通常是“\”,而在UNIX系统中则是“/”。 24. **path.separator** - 路径分隔符,在Windows中通常是“;”,而在UNIX系统中则是“:”。 25. **line.separator** - ...

    java获取系统参数规格

    System.out.println("文件分隔符:\n" + System.getProperty("file.separator")); ``` 在不同的操作系统中,文件路径中的目录分隔符可能不同,在Unix和Linux系统中通常是斜杠(/),而在Windows系统中则是反斜杠(\)...

    Java中通过System.getProperties()获取系统参数测试.docx

    - **文件分隔符** (`file.separator`):给出了当前操作系统用于分隔文件路径的字符,如Windows中为“\”,Unix/Linux中为“/”。 - **路径分隔符** (`path.separator`):显示了当前操作系统用于分隔文件路径中的多个...

    linux中java获取路径的实例代码

    在Linux环境下,由于路径分隔符与Windows不同,在编写跨平台代码时,应使用File.separator常量来表示路径分隔符,以保证代码在不同操作系统上的正确性。例如,在Windows上,路径使用"\\",而在Linux上使用"/"。通过...

    抓取网页数据函数

    1. **`file.separator`** - 文件分隔符(例如,“/”)。这对于跨平台文件路径操作非常有用。 2. **`java.class.path`** - Java 类路径。用于查找用户类文件的位置。 3. **`java.class.version`** - Java 类版本号。...

    java设置http代理

    System.out.println("文件分隔符:" + props.getProperty("file.separator")); // Unix 系统为 / System.out.println("路径分隔符:" + props.getProperty("path.separator")); // Unix 系统为 : System.out.println...

    编写跨平台Java程序注意事项

    8. 避免硬编码系统常量:如行分隔符、文件分隔符和路径分隔符等,而应使用Java提供的`Properties`类获取这些系统相关的常量,例如`getProperty("file.separator")`、`getProperty("line.separator")`和`getProperty...

Global site tag (gtag.js) - Google Analytics