Чтение созданного во время выполнения файла с Java - PullRequest
0 голосов
/ 06 января 2012

Я создаю и пишу файл с помощью метода java, затем хочу прочитать этот файл во время выполнения с помощью другого метода java. Но он выдает ошибку java.io.FileNotFoundException.

Как я могу исправить эту ошибку?

Writer output=null;
File file = new File("train.txt");
output = new BufferedWriter(new FileWriter(file));
output.write(trainVal[0] + "\n");
-------------------
and read code

FileInputStream fstreamItem = new FileInputStream("train.tx");
        DataInputStream inItem = new DataInputStream(fstreamItem);
        BufferedReader brItem = new BufferedReader(new InputStreamReader(inItem));
        String phraseItem;
        ArrayList<Double> qiF = new ArrayList<Double>();

        while ((phrase = br.readLine()) != null) {
            //doing somethinh here
        }

Ответы [ 2 ]

0 голосов
/ 06 января 2012

Ниже приведен один из лучших и удобных способов чтения файла.Пройдите через это вместо использования традиционных методов.


import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;

final public class Main
{
    public static void main(String... args)
    {
        File file = new File("G:/myFile.txt");   //Mention your absolute file path here.
        StringBuilder fileContents = new StringBuilder((int)file.length());
        Scanner scanner=null;
        try
        {
            scanner = new Scanner(file);
        }
        catch (FileNotFoundException ex)
        {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }

        String lineSeparator = System.getProperty("line.separator");

        try
        {
            while(scanner.hasNextLine())
            {
                fileContents.append(scanner.nextLine()).append(lineSeparator);
            }
        }
        finally
        {
            scanner.close();
        }
        System.out.println(fileContents);   //Displays the file contents directly no need to loop through.
    }
}

Вы допустили ошибку, указав правильное расширение файла в вашем коде.

FileInputStream fstreamItem = new FileInputStream("train.tx");

Должен иметьбыл

FileInputStream fstreamItem = new FileInputStream("train.txt");
0 голосов
/ 06 января 2012

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

...