Ошибка чтения из файла (Java)

Я разместил аналогичный вопрос здесь: Чтение из файла, содержащего целые числа - java но вразумительного ответа не получил.

Теперь я написал этот новый код, который только читает файл и выводит результат.

Я получаю исключение FileNotFoundException всякий раз, когда пытаюсь прочитать файл. Код ниже:

import java.io.*;

public class second {

/**
 * @param args
 * @throws IOException 
 */
public static void main(String[] args) throws IOException {

    File f = new File("C:\\Users\\Haroon\\workspace\\ppp\\temperature.txt");
    FileReader file = new FileReader(f);
    BufferedReader buf = new BufferedReader(file);

    String s = null;
    while((s = buf.readLine()) != null){
        System.out.println(s);
    }
}

}

Это странно, потому что файл находится в папке проекта. Любая помощь будет оценена по достоинству.


person stud91    schedule 07.07.2012    source источник
comment
и если вы попробуете: C:/Users/Haroon/workspace/ppp/temperature.txt, вы сможете его прочитать?   -  person Francisco Spaeth    schedule 07.07.2012
comment
Это странно, потому что файл находится в папке проекта — папка проекта не имеет значения, когда вы указали полное имя файла.   -  person Jon Skeet    schedule 07.07.2012
comment
та же ошибка с косой чертой. @JonSkeet спасибо за это. Я знаю, потому что сначала я писал только Temperature.txt вместо полного пути.   -  person stud91    schedule 07.07.2012
comment
Дважды проверьте имя файла. Я предполагаю, что где-то опечатка.   -  person Jon Skeet    schedule 07.07.2012


Ответы (2)


Это должно сработать. Перейдите к местоположению файла, скопируйте путь, вставьте его в свой код и избегайте косых черт. Вы что-то упускаете.

Также проверьте правильность имени/расширения файла, у вас может быть что-то вроде «temperature.txt.txt».

person User    schedule 07.07.2012
comment
сделал то, что ты сказал. Та же проблема :( - person stud91; 07.07.2012
comment
Хорошо, следующий тест: скопируйте и вставьте путь из вашего кода в проводнике, удалите лишние косые черты и нажмите Enter... - person User; 07.07.2012
comment
Я предлагаю сначала попробовать простой путь. Например: c:\\1.txt - person Aleksandr Kravets; 07.07.2012
comment
попробовал оба ваших предложения. Та же проблема. Может ли это быть проблемой переменной среды PATH - person stud91; 07.07.2012
comment
Нет, это не связано с PATH. Если вы не можете открыть файл при копировании из своего кода в проводник, значит, вы близки к причине. Возьмите этот путь, вставьте его в текстовый редактор, сравните с правильным... - person User; 07.07.2012
comment
Я могу открыть файл отсюда. Я сделал скриншот всего. вот он: min.us/mG4uLTLBX - person stud91; 07.07.2012
comment
Вы скопировали путь к файловому проводнику, включая имя файла? Вы тестировали свою программу с температурой.txt.txt? - person User; 07.07.2012
comment
Также попробуйте удалить .txt из имени файла, если он по-прежнему отображается как текстовый файл, значит, у вас было расширение в имени, и это неправильно. - person User; 07.07.2012

Я не знаю, почему вы не можете прочитать файл. Он отлично работает в моей системе. Поскольку вы делаете свой проект в eclipse. Я опубликую обходной путь здесь.

System.out.println(System.getProperty("user.dir"));

Используйте эту команду, чтобы найти текущий каталог пользователя во время выполнения. Теперь поместите файл непосредственно в этот пользовательский каталог. Теперь вы можете напрямую прочитать файл только по его имени. Например:

File f = new File("temperature.txt");

Также, как упоминалось в «lxxx», проверьте имя файла и расширение, включив параметр «Показать расширение файла» в Windows.

person dejavu    schedule 07.07.2012