Как я могу создать новый файл и поместить некоторые определяемые пользователем целые числа (используя класс сканера), а затем прочитать его? - PullRequest
0 голосов
/ 23 июня 2019

Я хочу написать программу, которая создает новый файл и помещает в него некоторые пользовательские целые числа, а затем читает его из файла в том же классе.

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

public class CreateAndCopy {
public static void main(String[] args) throws Exception {
    File obj2 = new File("abc.txt");
    Scanner obj1 = new Scanner(System.in);
    PrintWriter testing = new PrintWriter(obj2);
    int x = obj1.nextInt();
    int y = obj1.nextInt();
    int z = obj1.nextInt();
    testing.println(x);
    testing.println(y);
    testing.println(z);
    testing.close();
    System.out.println("");
    }
}

читает из файла, который мы создали в классе.

1 Ответ

1 голос
/ 23 июня 2019

Чтобы прочитать содержимое файла, вы можете просто использовать BufferedReader , а затем выполнить итерацию по каждой строке и вывести:

    BufferedReader br = new BufferedReader(new FileReader(obj2));

    String st;
    while ((st = br.readLine()) != null)
        System.out.println(st);

Но на самом деле не следует просто писать всев вашем основном методе - использование методов намного чище и яснее.Я изменил ваш код, см. Например:

public class Main {
    public static void main(String[] args) throws Exception {
        File obj2 = createFile();
        writeToFile(obj2);
        System.out.println("");
        readFromFile(obj2);
    }

    private static void readFromFile(File obj2) throws IOException {
        BufferedReader br = new BufferedReader(new FileReader(obj2));

        String st;
        while ((st = br.readLine()) != null)
            System.out.println(st);
    }

    private static void writeToFile(File obj2) throws FileNotFoundException {
        Scanner obj1 = new Scanner(System.in);
        PrintWriter testing = new PrintWriter(obj2);
        int x = obj1.nextInt();
        int y = obj1.nextInt();
        int z = obj1.nextInt();
        testing.println(x);
        testing.println(y);
        testing.println(z);
        testing.close();
    }

    private static File createFile() {
        return new File("abc.txt");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...