метод writer() считывает с консоли текст и записывает в указанный файл. цикл записи идет бесконечно. как можно прервать цикл по определенному условию? if (str.equals("stop") { break; } уже пробовал. работать работает, но тогда в файл пишет только символ. Можно может по другому записывать текст с консоли в файл?
package com.company;

import java.io.*;

public class ReaderWriter {

    public static void main(String[] args) throws IOException {
        reader("D:\\hey.txt");
        writer("D:\\writer.txt");
    }

    public static void reader(String fileName) {
        try {
            FileInputStream fileReader = new FileInputStream(fileName);
            while (fileReader.available() > 0) {
                int readOfByte = fileReader.read();
                char c = (char) readOfByte;
                System.out.print(c);
            }
            fileReader.close();
        } catch (FileNotFoundException e) {
            System.out.println("Файл не найден или поврежден");
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

    public static void writer(String fileName) throws IOException {
        try {
            BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
            FileOutputStream fileWriter = new FileOutputStream(fileName);
            while (true) {
                int data = reader.read();
                fileWriter.write(data);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}