shaogeiwojijiwaiwai
2012-07-05 17:07 阅读 197
已采纳

问大家一个简单的问题

File.separator在window下是"\",在linux下是"/"。
那么如果代码是在window下编译,在linux下运行会不会出异常?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

5条回答 默认 最新

  • 已采纳
    iteye_878 iteye_878 2012-07-05 17:12

    不会啊,这样写就通用了。你可以看下jdk源码

    [code="java"]
    static private FileSystem fs = FileSystem.getFileSystem();
    public static final char separatorChar = fs.getSeparator();
    public static final String separator = "" + separatorChar;[/code]

    可以看到,他会在运行期间根据不同平台获得不同的文件分隔符

    点赞 10 评论 复制链接分享
  • u011606457 _1_1_7_ 2012-07-05 23:56

    File.separator是在运行时决定在,在哪个系统运行就是哪个系统的符号

    点赞 6 评论 复制链接分享
  • works001 works001 2012-07-05 17:10

    我的代码在linux没有报错

    点赞 评论 复制链接分享
  • feizhuzi feizhuzi 2012-07-06 02:38

    显然不会,无论在哪个平台编译, File.separator的值都是在运行时决定的

    点赞 评论 复制链接分享
  • ll89308839 ll89308839 2012-07-06 08:59

    File.separator
    没有这个好
    [code="java"]
    String lineSeparator = (String) java.security.AccessController.doPrivileged( new sun.security.action.GetPropertyAction("line.separator"));
    [/code]

    点赞 评论 复制链接分享

相关推荐