Я пытаюсь создать простую программу, которая содержит функцию просмотра локальной файловой системы.
Однако я столкнулся с проблемой, когда адрес вводится напрямую.
public void setWorkingDirectory(File newDir)
{
try
{
//try to eliminate redundancy
this.workingDir = newDir.getCanonicalFile();
}
catch (IOException e)
{
this.workingDir = newDir;
}
}
Мне нужноабсолютный путь для отображения на экране.Поэтому я использую getCanonicalFile()
.Все работает нормально, за исключением того, что, когда я ввожу «D:», workingDir будет установлен в текущий каталог проекта в Eclipse (я думаю, что это должен быть текущий каталог, когда выполняется независимо, например, «D: \ EclipseWorkspace \ workspace \ FTPClient») но File newDir содержит точно такой же путь («D:») (я его проследил).
Если я введу «C:» или «D: \», то все в порядке.Я не смог найти никакой информации об этом в Интернете.Может кто-нибудь сказать мне, что здесь происходит и как решить проблему?
Заранее спасибо.
РЕДАКТИРОВАТЬ: я работаю на Windows XP SP3 с Java 6, если это имеет значение.