java - C : and C:/之间的区别

标签 java windows

我只是在阅读一些java书籍并制作一些小程序作为练习,我创建了一个小代码来获取有关我输入的路径的信息,代码是:

String path = JOptionPane.showInputDialog("Enter Path to analyze");

File file =  new File(path);

if (file.exists())
{
    String result = "";
    if (file.isDirectory())
    {
        result += "Path is directory\n ";
        String [] resList = file.list();

        for (String s : resList)
        {
            result += s + ", ";
        }
    }
    if (file.isFile())
    {
        result += "Path is a file\n";
    }

    JOptionPane.showMessageDialog(null, result);

现在在输入对话框中,当我输入C:时,结果是build, build.xml, manifest.mf, nbproject, src,但是当我输入C:/,显示C目录和文件的完整列表。

奇怪的是,D 驱动器和其他驱动器不会发生这种情况(即 D:/和 D: 的结果相同),请解释一下发生了什么?

更新 在使用 C# 的 WPF 中也会发生同样的情况!

最佳答案

C: 表示“当前在驱动器 C: 上选择的任何目录”。在您的情况下,它可能是您的应用程序从中运行的目录。

D: 与您的情况下的 D:/ 相同,因为根目录 D 中的当前工作目录:

关于java - C : and C:/之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10339098/

相关文章:

java - 将 Netbeans 平台与 JavaFX 2 结合使用?

windows - 使用命令提示符启动已保存的 Python 程序时遇到问题

c++ - 适用于 C++ 的 Dropbox 同步 API

python - 我应该在哪里保存应用程序的数据?

java - Xtend 语法澄清

java - 如何在不使用 -cp 开关的情况下在 Groovy 中自动加载数据库 jar?

windows - 如何在 Windows 中使用 subversion 操作以 unicode 命名的文件?

windows - powershell one liner 下载带有凭据的文件

java - 提取哪个 channel - ImageJ

java - 从 php web 与 Linux 脚本通信