Технологии

Решено

System.out.println( dir + File.separator+f.getName()); как по этому пути к файлу считать строки и занести в массив? - вопрос №3959540

программа поиска в папке текстовых файлов с числами и выводит на экран путь к этим файлам
for(File f: listFiles) {<br /> System.out.println( dir + File.separator+f.getName()); как по этому пути к файлу из консоли или до считать строки и занести в массив? учитывается, что файлов несколько и внести в один массив желательно

сентябрь 19, 2020 г.

  • Всего ответов: 1

  • Виталий - аватарка

    Виталий

    2-й в Технологиях

    Здравствуйте. Для наглядности — вот Вам пример, который считывает все .txt файлы из папки c:\Folder в один строковый массив.

    package javaapplication1;

    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FilenameFilter;
    import java.util.ArrayList;
    import java.util.Scanner;
    import java.util.List;

    public class JavaApplication1 {

     // FileNameFilter interface implementation
        public static class myFileNameFilter implements FilenameFilter{
             
            private String ext;
             
            public myFileNameFilter(String ext){
                this.ext = ext.toLowerCase();
            }
            @Override
            public boolean accept(File dir, String name) {
                return name.toLowerCase().endsWith(ext);
            }
        }
        
        public static void main(String[] args) throws FileNotFoundException {
            String dir = «c:\\Folder»;
            String ext = ".txt";
            File folder = new File(dir);
            File[] listFiles = folder.listFiles(new myFileNameFilter(ext));
            
            List lines = new ArrayList(); // new strings List
            
            for (File f: listFiles) {
                String fname = dir + File.separator + f.getName(); // filename
                if (f.isFile()) {
                    System.out.println(fname); // printing file name
                    
                    // reading text file line by line and adding to lines List.
                    Scanner sc = new Scanner(new File(fname));
                    while(sc.hasNextLine()) {
                        lines.add(sc.nextLine());
                    }
                    
                }
            }
            // writing all strings to console
            
            for (String s: lines) {
                System.out.println(s);
            }
        }

    }

    сентябрь 20, 2020 г.
    Ответ понравился автору
    Лучший ответ по мнению автора

Похожие вопросы