2015-10-29 4 views
-2

Почему программа поиска файла:расположения файлов по умолчанию

File FILE_PATH = new File("‪‪C:\\Users\\home\\Desktop\\DbWord.txt"); 
    System.out.println(FILE_PATH.exists()); 
    System.out.println(FILE_PATH.getAbsoluteFile()); 
    FileInputStream fIn = new FileInputStream(FILE_PATH); 
    Scanner reader = new Scanner(fIn); 

по адресу: C: \ Users \ дом \ Documents \ NetBeansProjects \ MyDatabase \ C: \ Users \ главная \ Desktop \ DbWord.txt

Как я могу противодействовать местоположению по умолчанию?

Если что-то в этом сообщении нехорошо, скажите, пожалуйста, и отрицательный голос.

Спасибо!

почему отрицательные голоса ??????????????? в чем ваши проблемы ??????????

+1

@Ofir вопрос не ясно – dex

+0

@dex эй, я пытаюсь вытащить из файла, место в: C: \\ Пользователи \\ home \\ Desktop \\ DbWord.txt , но prograam пишет, что файл не найден, и он пишет мне этот файл: C: \ Users \ home \ Documents \ NetBeansProjects \ MyDatabase \ C: \ Users \ home \ Desktop \ DbWord.txt Я имею в виду программу, пытающуюся выполнить поиск файла по этому пути .. почему? – Ofir

+0

@dex я отредактировал свою команду. спасибо :) – Ofir

ответ

1

Пожалуйста, дважды проверьте свои данные об ошибке. Возможно, вы видели что-то вроде ошибки ниже. На самом деле программа не ищет файл "C:\Users\home\Documents\NetBeansProjects\MyDatabase\‪‪C:\Users\home\Desktop\DbWord.txt", он пытается найти файл "C:\Users\home\Desktop\DbWord.txt", который не существует на вашем компьютере. Вы видите "C:\Users\home\Documents\NetBeansProjects\MyDatabase\‪‪C:\Users\home\Desktop\DbWord.txt" вместе с ошибкой, потому что вы уже использовали оператор System.out.println(FILE_PATH.getAbsoluteFile()); в своем коде.

false 
Exception in thread "main" java.io.FileNotFoundException: ‪‪C:\Users\home\Desktop\DbWord.txt (The filename, directory name, or volume label syntax is incorrect) 
    at java.io.FileInputStream.open0(Native Method) 
    at java.io.FileInputStream.open(FileInputStream.java:195) 
    at java.io.FileInputStream.<init>(FileInputStream.java:138) 
C:\Users\home\Documents\NetBeansProjects\MyDatabase\‪‪C:\Users\home\Desktop\DbWord.txt 
    at com.stackoverflow.answer.SimpleFileHelper.main(SimpleFileHelper.java:17) 

Надеюсь, теперь вы поняли.

Есть три основных шанса, в которых может быть выброшен FileNotFoundException.

  1. Именованный файл не существует.
  2. Именованный файл фактически является каталогом, а не файлом.
  3. Именованный файл не может быть открыт для чтения по какой-либо причине.

Первые две причины вряд ли основаны на вашем описании, пожалуйста, проверьте третий пункт, используя метод file.canRead().

Если выше тест возвращает истину, я подозреваю следующее:

Возможно, вы забыли явно выбросить или поймать потенциальное исключение (т.е. FileNotFoundExcetion). Если вы работаете в среде IDE, вы должны получить жалобу от компилятора. Но я подозреваю, что вы не запускали свой код в такой среде IDE.

Попробуйте следующий код и посмотреть, если исключение уедет:

package com.stackoverflow.answer; 

import java.io.File; 
import java.io.FileInputStream; 
import java.io.FileNotFoundException; 
import java.util.Scanner; 

public class SimpleFileHelper { 

    public static void main(String[] args) throws FileNotFoundException { 
     File FILE_PATH = new File("C:/Users/home/Desktop/DbWord.txt"); 
     System.out.println(FILE_PATH.exists()); 
     System.out.println(FILE_PATH.getAbsoluteFile()); 
     FileInputStream fIn = new FileInputStream(FILE_PATH); 
     Scanner reader = new Scanner(fIn); 
    } 
} 
+0

вы правы, но th файл: C: \ Users \ home \ Desktop \ DbWord.txt существует на моем компьютере .. что мне нужно делать? и почему всегда отрицательный голос? – Ofir

+0

Обновлен ответ. Пожалуйста, проверьте. –

+0

хорошо спасибо .. вы знаете, может быть, почему файл «пуст», в то время как он содержит иврит-реставраторы? еще раз спасибо.. – Ofir

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