Программа грузит комп

343
19 марта 2017, 04:16

Здравствуйте! Написал свою первую программу на Java, но работает она некорректно. Функционал:

  1. Спрашивает слово.

  2. Считывает файл, если слово найдено - выводит строку.

  3. Если не найдено, записывает слово и перевод.

Программа после завершения или при работе программы начинает писать в файл "null - null" до потери пульса.

package com.company;
import java.io.*;
import java.util.ArrayList;
public class Main {
    public static void main(String[] args)  throws  Exception {
        for (int i = 0; i == 0; ) {
            System.out.println("Enter the word :");
            BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
            try {
                readFiler(reader.readLine());
            } catch (Exception e) {
                System.out.println("Файл не найден");
            }
        }
    }
    public  static   String readFiler(String word) throws  Exception {
        int count = 0;
        try {
            FileReader ret = new FileReader("/home/shoolcs/Desktop/test");
            BufferedReader reader = new BufferedReader(ret);
            String line;
            while ((line = reader.readLine())!=null )  {
                if ((line.indexOf(word) != -1)) {
                    System.out.println(line);
                    count++;
                }
            }
            reader.close();
            ret.close();
        } catch (Exception e) {
            System.out.println("No file!");
        }
        if(count==0){
            saveFiler(word);
        }
        return null ;
    }
    private  static   String saveFiler (String wor )  throws  Exception{
        System.out.println("Add word " + wor + " in dinctionary :" );
        try {
            BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
            String translate ;
            translate = reader.readLine() ;
            FileWriter writerrr = new FileWriter("/home/shoolcs/Desktop/test",true);
            BufferedWriter writer = new BufferedWriter(writerrr);
                      writer.write(wor + " - " + translate + "\n");
        writer.close();
        writerrr.close();
        }
        catch (Exception e){
            System.out.println("Файл не найден");
        }
        return null;
    }
    }
Answer 1

Попробуйте переписать метод readFiler() с файла с использованием java.util.Scanner

что-нибудь в духе:

String currentLine = null;
while (scanner.hasNext()) {
    currentString = scanner.nextLine();
}

Дополнительные примеры можно найти тут

READ ALSO
Изменить изображение в Android

Изменить изображение в Android

Всем привет! Столкнулся с такой проблемой: как изменить готовое изображение (фотографию), нарисовать на ней текст (в моем случае мне нужно...

235
Список аудио файлов android устройства

Список аудио файлов android устройства

Возник вопрос - как получить список аудио файлов с устройства и вывести на экран в диалоговом окнеПоиск в интернете не дал информации на русском...

280
Код для Android приложения, которое определяет номер телефона [требует правки]

Код для Android приложения, которое определяет номер телефона [требует правки]

Хочу попробовать сделать что-то вроде диспетчерской службы такси на планшеты (смартфоны)

207