LINUX.ORG.RU

Построчное чтение текста из файла

 


0

1

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

 public static void main(String[] args) throws FileNotFoundException 
    {   
        int k = 50, i = 0;
        String[] s = new String[k];
        Scanner in = new Scanner(new File("/file.txt"));
        while(in.hasNext())
        {
            s[i] = in.nextLine() + "\r\n";
            i++;
            System.out.println(s)
        }
        in.close();             
    }
} 
но нечего не выходит. Пример реализации на C# и python https://github.com/Deneby67/job



Последнее исправление: rikimaru (всего исправлений: 3)

Ну итить...

Любой учебник по java - никак без этого.

fornlr ★★★★★
()

«/file.txt»

Точно в корне? Хотя может у джавы своя атмосфера.

anonymous
()

Попробуй next вместо nextLine использовать.

Legioner ★★★★★
()

Императивненько

anonymous
()

Сделал вот так вот

  public static void main(String args[]) throws IOException {
        Scanner scn = new Scanner(System.in);
        System.out.println("Введите путь к файлу");
        String filename = scn.next();
        File file = new File(filename);
        FileInputStream fis = new FileInputStream(file);
        byte[] data = new byte[(int) file.length()];
        fis.read(data);
        fis.close();
        //
        String s = new String(data, "UTF-8");
        String[] text = s.split(" ");
        System.out.print(text.length);
Сильно говнокод? Теперь бы ещё понять как в джаве найти повторяющиеся строки в массиве, ведь тут нету linq

rikimaru
() автор топика
Ответ на: комментарий от rikimaru

Да почитай ту книжку чуток, не ленись. Часа два чтения и всё будет в порядке.

ii8_ ★★★★
()
Ответ на: комментарий от kovrik

Стримы закрывай всегда в finally

Не учи плохому, есть же try-with-resources

Begemoth ★★★★★
()
Ответ на: комментарий от Begemoth

Препод, принимающий лабы, может либо поставить за находчивость плюсик, либо, чтоб не вы@#$@ся, отправить переделывать)

anonymous
()
9 августа 2014 г.
Ответ на: комментарий от rikimaru

Никогда не делай так

public static void main (String args[]) throws IOException {

Кто у тебя IOException перехватывать будет? Лучше напиши так:

public static void main(String args[]) {
        Scanner scn = new Scanner(System.in);
        System.out.println("Введите путь к файлу");
        String filename = scn.next();
        try {
        File file = new File(filename);
        FileInputStream fis = new FileInputStream(file);
        byte[] data = new byte[(int) file.length()];
        fis.read(data);
        }
        catch(IOException exc) {
        System.out.println(exc.getMessage());
        }
        finally {
        fis.close();
        }
        //
        String s = new String(data, "UTF-8");
        String[] text = s.split(" ");
        System.out.print(text.length);

LongLiveUbuntu ★★★★★
()
Последнее исправление: LongLiveUbuntu (всего исправлений: 4)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.