比如FileInputStream f=new FileInputStream("d:/java/test.java");或FileInputStream f=new FileInputStream("d:\\java\\test.java");这两种写法都是对的,那这两种写法有什么区别吗?和跨平台有关吗,那种比较好?

解决方案 »

  1.   

    和跨平台无关,如果你文件名字是"d:/java/nest.java" 中间有个/n ,解析出来就是换行所以最好还是用转义 "d:\\java\\test.java" 的形式来写
      

  2.   

    文件分割符用File.separator表示,不受平台约束
      

  3.   

    第一种,在windows和linux都可以
    看看java.io. File中有separatorChar常量,其值就是 '/'。表示与系统有关的默认名称分隔符。
      

  4.   

    d:/java/test.java
    /在windows和linux都支持
    d:\\java\\test.java
    在windows平台支持File.separator 解决跨平台
      

  5.   

    1、一般不会把绝对路径写到代码里,而是用properties、xml之类的配置文件。
    2、需要注意的是,代码里在连接路径的时候,使用“File.separator”确保可以跨平台运行。
    3、在第2点的基础上,因为使用的是windows路径,所以用“\\”转义比较好,便于代码中处理。