【问题标题】:How to format system path to a file in java?如何在java中格式化文件的系统路径?
【发布时间】:2012-06-30 09:04:27
【问题描述】:

我想在 windows 的 java 中读取一个文件说c.txt。那么任何人都可以建议我如何在java中将文件的系统路径格式化为D:\a\b\c.txtD:/a/b/c.txt?我知道它会像D:\\a\\b\\c.txt 这样工作,但我想使用这个D:/a/b/c.txt。谢谢!

【问题讨论】:

    标签: java file-io replace file-location


    【解决方案1】:

    我不确定您的问题,但硬编码/\ 很少是好的做法。使用 Java 的 File.separator 来帮助您。

    【讨论】:

      【解决方案2】:

      您可以使用char 替换:http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#replace%28char,%20char%29

      例子:

      String pathToFile = "D:\\a\\b\\c.txt";
      pathToFile = pathToFile.replace('\\','/'); <-- with ' and not "
      

      replace(char, char)的文档:

      返回一个新字符串,该字符串由替换所有出现的 此字符串中的 oldChar 与 newChar。

      【讨论】:

        【解决方案3】:

        您可以使用File API

        File f = new File("c.txt");
        System.out.println(f.getAbsolutePath());
        System.out.println(f.getCanonicalPath());
        

        或者只是简单的子串

        String fname = "D:\\a\\b\\c.txt".replace('\\', '/');
        System.out.println(fname);
        

        【讨论】:

          【解决方案4】:
          String file="D:\\a\\b\\c.txt";
          file=file.replace('\\','/');
          System.out.println(file);
          

          输出D:/a/b/c.txt

          但如果你想让它更依赖于平台,你应该使用File.separator(用于基于字符串的替换)或File.separatorChar(用于基于字符的替换)。

          【讨论】:

            猜你喜欢
            • 2012-04-30
            • 1970-01-01
            • 2016-05-07
            • 2016-07-04
            • 1970-01-01
            • 2015-03-25
            • 1970-01-01
            • 1970-01-01
            • 2022-08-17
            相关资源
            最近更新 更多