2014-03-16 2 views
2

Я работаю с классом File в первый раз и немного запутался.Поиск файла с Java

Я написал этот базовый код, чтобы увидеть, если файл на моем рабочем столе можно обнаружить:

public static void main(String[]args){ 
    File test= new File("abc.pdf"); 
    if(test.exists()==true){ 
     System.out.println("got it!"); 
    } 
    else{System.out.println("try again");} 
} 

Я знаю, что я пропускаю большой шаг, так как программа не может показаться, чтобы обнаружить его. Может ли кто-нибудь сказать мне, что еще мне нужно, чтобы посмотреть? Благодарю.

ответ

6

Вам необходимо указать абсолютный путь. например:

File file = new File("C:\\abcfolder\\abc.pdf"); 

Для того, чтобы получить рабочий стол абсолютный путь:

String desktopPath = WindowsUtils.getCurrentUserDesktopPath(); 

Тогда:

File file = new File(desktopPath+"\\abc.pdf"); 
+0

отлично работает. спасибо! ... и если я хочу проверить файл, но не обязательно знаю его местоположение, можете ли вы случайно узнать какой-то метод поиска, встроенный в java-библиотеку? – user2910237

+0

@ user2910237 Вы можете взглянуть на DirectoryWalker в commons.io: http://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/DirectoryWalker.html Он позволяет вам пройти файловая иерархия и делать что-то с указанными файлами. Btw. если вы изучаете IO в Java, это идеальный момент, чтобы взглянуть на commons.io - чрезвычайно полезный материал;) –

+0

@guitar_freak спасибо! рассмотрим это. – user2910237

3

Если вы запустите это в Eclipse, он будет искать файл в папке проекта.

Если вы используете это из командной строки, он будет отображаться в текущей папке.

Если вы используете это из файла jar, он будет выглядеть в папке с файлом jar, по крайней мере, в Windows.

Если вы используете это в другом месте, это зависит от того, как вы его используете. В большинстве IDE это будет папка проекта.

+0

, что полезно знать. благодаря! – user2910237

Смежные вопросы