System.getProperty("path.separator")无法按预期工作

Tho*_*mas 0 java string split

import java.lang.System;

public class Splitter{

 public static void main(String args[]){

  String path_separator = "Path separator is: " + System.getProperty("path.separator");

  String str = "abc:def:gha";

  System.out.println(path_separator);

  String[] temp;

  temp = str.split(path_separator);

  for(int i=0; i<temp.length; i++)
    System.out.println(temp[i]);

 }
}
Run Code Online (Sandbox Code Playgroud)

java Splitter

路径分隔符是:

ABC:DEF:GHA

当我写作

temp = str.split(":");
Run Code Online (Sandbox Code Playgroud)

代替

java Splitter

路径分隔符是:

abc def gha

那么":"与":"有什么不同,或者我错过了什么?

同样的事情:

System.getProperty("line.separator")
Run Code Online (Sandbox Code Playgroud)

谢谢托马斯

Pét*_*rök 6

初始化path_separator错误,所以在第一次运行你正在试图分裂str"Path separator is: :",而不是由":".

正确的代码应该是

String path_separator = System.getProperty("path.separator");

...

System.out.println("Path separator is: " + path_separator);
Run Code Online (Sandbox Code Playgroud)

  • 实际上更容易使用`File.pathSeparator`,少输入:-) (4认同)