【问题标题】:convert a string to a directory name将字符串转换为目录名称
【发布时间】:2012-02-22 14:23:42
【问题描述】:

这是我的情况:

String dir = "C:/root/dir1/";
for(File f: new File(dir).listFiles()) {

}

执行时:

System.out.println(new File(dir).isDirectory());
System.out.println(new File(dir));

给予

false
root/dir1

存储在字符串中的路径是有效的。在将字符串转换为文件类型时,它会丢失分隔符;目录名怎么保存?

谢谢。

【问题讨论】:

  • 也许您可以尝试给出目录的全名?

标签: java string file directory


【解决方案1】:

要创建目录,请使用以下代码。注意 .mkdir() 方法和双反斜杠的使用。

在你的代码中,我敢打赌 System.out.println(new File(dir).isFile() 会返回 true。

 import java.io.File;

 public class MakeDirectory {

 public static void main(String[] args) {
    File f = new File("c:\\MyFolder");
    f.mkdir();

  }
 }

【讨论】:

    【解决方案2】:

    很简单:root/dir1 不是目录。这可能是由以下几个原因造成的:

    • 文件夹不存在。
    • 它是一个文件而不是文件夹。
    • 父文件夹指定不正确。

    【讨论】:

    • 我已经检查过了。列出的三个案例都不是真的。
    • @rookie - 目录的完整路径是什么? c:\root\dir1\\home\root\dir1?
    • 有点像 - c:\root\dir1。我已经编辑了现有的问题;错误仍然存​​在。
    【解决方案3】:

    通过执行“root/dir1/”而不是“/root/dir1/”,您将告诉它在 java 中查找 $pwd/root/dir1,$pwd 通常来自类路径,这很可能不存在。

    【讨论】:

    • 我已经检查了绝对路径和路径;看起来都很好。它与在从字符串转换为文件时丢失结束分隔符有关。我想找到一种方法来保留结束分隔符。
    猜你喜欢
    • 2016-02-06
    • 2015-04-02
    • 2015-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多