Распечатайте объект из массива объектов, содержащих текстовые файлы, создав метод, который принимает объект Record в качестве параметра - PullRequest
0 голосов
/ 25 февраля 2019

Мне нужно создать массив объектов из текстового файла.

Пока что это то, что я сделал:

public static Record[] readRecord(String pathFile) throws IOException {
        int length = count(pathFile);
        Record[] records = new Record[length];
        try {
            File pointFile = new File(pathFile);
            Scanner pointReader = new Scanner(pointFile);
            int index = 0;
            String rec;
            while (pointReader.hasNext() && index < length) {
                rec = pointReader.next();
                records[index] = new Record(rec);
                index = index + 1;
            }
            pointReader.close();
        } catch (FileNotFoundException fnf) {
            System.out.print("File was not Found");
        }
        return records;
    }

, но для одного из случаев для моего оператора switch я должен создать метод, который принимает одну запись (которую выбирает пользователь)из массива и печатает его.

Я создал метод, который делает это, но я не могу найти способ сделать это, который принимает объект Record в качестве метода.

Это метод, который я вызываю и передаю имя текстового файлаи номер от пользователя.

public static String OpenFile(String file, int num) throws IOException {
        FileReader fr = new FileReader(file);
        BufferedReader textreader = new BufferedReader(fr);

        number = Project1.count(file);
        String[] data = new String[number];

        for (int i = 0; i < number; i++) {
            data[i] = textreader.readLine();
        }
        textreader.close();
        return data[num];
    }

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

John, Doe, jd@yahoo.com, 123456, green, 19.24
Mary, Jane, maryj@gmail.com, 7654321, blue, 27.54
Curly, Howard, nyuknyuk@msn.com, 888765, purple, 0.0
Bart, Simpson, donthaveacow@hotmail.com, 457673, magenta, 432.23
Clark, Kent, superdude@dailyplanet.com, 976834, red, 11.10
...