lowZoom 2011-06-28 09:30
浏览 239
已采纳

File类的一个奇怪现象

<pre name="code" class="java">import java.io.File;

public class Test {
public static void main(String[] args) {
File a = new File("d:");
System.out.println(a.getAbsolutePath());
}
}
上面这段代码生成的程序, 放在d盘以外的其他盘, 输出的是 d:<br />

但是放在d盘的任一文件夹下, 输出就变成了程序所在的文件夹


感觉像是JDK的BUG, 但我看了File的源码, 字符串的解析却不是在java里做的... 貌似是用JNI扔给了windows

大惑不解, 求教 

问题补充

IcyFenix 写道
……
相对路径啊,只说明是D盘不够,要说明是D盘根目录
就是改成下面这样
File a = new File("d:/"); 

那为什么程序在其他盘的时候不会被认为是相对路径呢
问题补充
IcyFenix 写道
放到其他盘也是相对路径啊,只不过相对路径正好是D盘根目录而已。

相对路径不是相对于当前目录的路径麽, 怎么会相对到其他盘的根目录了呢... 
问题补充
captmjc 写道
lz当年肯定没学过dos,dos下面运行一下如下命令
E:
CD E:\1
DIR D:
PAUSE
CLS
CD D:\1
DIR D:
PAUSE


终于有人看懂我的问题了,果然是跟windows有关,兄台厉害 
PS: 当年的确是没学过DOS,因为DOS风行当年我还在读幼儿园 
  • 写回答

6条回答 默认 最新

  • shine333 2011-06-28 09:30
    关注

    lz当年肯定没学过dos,dos下面运行一下如下命令
    E:
    CD E:\1
    DIR D:
    PAUSE
    CLS
    CD D:\1
    DIR D:
    PAUSE

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器