14
Ноя
2017

Программа для подсчета количества строк в файле *.txt – Java

Привет, собственно написал код программы, выполняющей следующее - пользователь пишет путь *.txt файлу, программа высчитывает сколько в документе строк, выводит количество строк на экран + создает файл *.txt в котором так же записывает количество строк. Вот код, пользуйтесь:

public class GetStrings {

    public static void main(String[] args) {

        System.out.println("Введите абсолютный путь к файлу: ");
        Scanner scanner = new Scanner(System.in);
        String inputValue = scanner.next();
        String n = inputValue;

        try {

            File myFile = new File(n);
            FileReader fileReader = new FileReader(myFile);
            LineNumberReader lineNumberReader = new LineNumberReader(fileReader);

            int lineNumber = 0;

            while (lineNumberReader.readLine() != null) {
                lineNumber++;
            }

            System.out.println(lineNumber);

            lineNumberReader.close();

            String lineNumber1 = String.valueOf(lineNumber);
            File newFile = new File("d:\\myFile.txt");
            FileWriter fileWriter = new FileWriter(newFile);
            fileWriter.write(lineNumber1 + " Строк в файле: " + n);
            fileWriter.close();


        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

А теперь надумал сделать так, чтобы пользователь писал директорию, программа просматривала директорию на наличие файлов расширения *.txt и считала строки в каждом из документов, выводило все значения на экран и так же записывало их в новый файл *.txt. Написал код на считывания файлов в директории но не могу из вытащить каждую переменную файла в директории, что-бы посчитать количество строк. Вот наработка, но как её соединить, помогите)) :

public class Blabla {

    public static void main(String[] args) {

        System.out.println("Введите абсолютный путь: ");
        Scanner scanner = new Scanner(System.in);
        String inputValue = scanner.next();
        String n = inputValue;

        File folder = new File(n);

        final String[] extension = {".txt"};
        String[] files = folder.list(new FilenameFilter() {

            @Override public boolean accept(File folder, String name) {
                for(String ext : extension)
                    if(name.toLowerCase().endsWith(ext)) return true;

                return false;
            }

        });

        for(String fileName : files)
            try {


                FileReader fileReader = new FileReader(fileName);
                LineNumberReader lineNumberReader = new LineNumberReader(fileReader);

                int lineNumber = 0;

                while (lineNumberReader.readLine() != null) {
                    lineNumber++;
                }

                System.out.println(lineNumber);

                lineNumberReader.close();

                String lineNumber1 = String.valueOf(lineNumber);
                File newFile = new File("d:\\myFile.txt");
                FileWriter fileWriter = new FileWriter(newFile);
                fileWriter.write(lineNumber1 + " Строк в файле: " + n);
                fileWriter.close();

                System.out.println("File: " + fileName);
            } catch (IOException e) {
                e.printStackTrace();
            }
    }
}

Источник: https://ru.stackoverflow.com/questions/744272/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0-%D0%B4%D0%BB%D1%8F-%D0%BF%D0%BE%D0%B4%D1%81%D1%87%D0%B5%D1%82%D0%B0-%D0%BA%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0-%D1%81%D1%82%D1%80%D0%BE%D0%BA-%D0%B2-%D1%84%D0%B0%D0%B9%D0%BB%D0%B5-txt-java

Тебе может это понравится...

Добавить комментарий