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

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

Лучший ответ по мнению автора

Здравствуйте. Для наглядности — вот Вам пример, который считывает все .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.09.20
Лучший ответ по мнению автора
Посмотреть всех экспертов из раздела Технологии > Java/J2EE
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store