Odczyt wszystkich plików z roz .java ze ścieżki katalogu.

0

Witam.

Mam mały problem gdyż dopiero stawiam pierwsze kroki w Javie, i na wstępie mam już kilka problemów.

Program który piszę wymaga aby pobrać dane z plików z rozszerzeniem .java i przesłać je do klasy, i na samym początku już mam mały problem, widzę, czytam i oglądam poradniki do odczytu i zapisu plików lecz jest tam podane tylko odczyt z pojedynczych plików txt.

Dlatego pojawiają się pytania:

-W jaki sposób mogę wybrać ścieżkę tak aby program przeszukał katalog w którym znajdują się pliki oraz wybrał wszystkie z rozszerzeniem .java ?

-Jak odczytać wszystkie pliki z rozsz. .java po kolei aż do braku kolejnych plików?

Wielkie dzięki za jakąkolwiek pomoc.

Również:
Jeżeli ktoś mógł by podrzucić jakiś dobry tytuł książki odnośnie strumieniowania w Javie był bym bardzo wdzięczny.

0

package com.company;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

public class Main {

public static void main(String[] args) throws ClassNotFoundException {
    try {
        Files.walk(Paths.get("C:\\Users\\RZONCA\\IdeaProjects\\Projekcik\\Files"))

                .filter(Files::isRegularFile)
                .forEach(System.out::println);
    } catch (IOException e) {
        e.printStackTrace();

    }
}

}

0

Na chwilę obecną mam taki kod, wszystko fajnie wypisuje mi w konsoli wszystkie pliki z podanego Katalogu, ale teraz pytanie bo nie mogę znaleźć sposobu na implementacje aby otworzyć tylko pliki z rozszerzeniem .java i przesłać je do innej klasy. Jak mogę to zrobić, będę musiał sprawdzać czy w nazwie pliku po . istnieje napis java jako rozszerzenie. Oraz Pliki z rozszerzeniem przesyłać do klasy w której będę musiał zaczytywać dane.

0

Znalazłem jeszcze coś takiego:
public static void listFilesForFolder(final File folder) {

    for (final File fileEntry : folder.listFiles()) {
        if (fileEntry.isDirectory()) {
            // System.out.println("Reading files under the folder "+folder.getAbsolutePath());
            listFilesForFolder(fileEntry);
        } else {
            if (fileEntry.isFile()) {
                temp = fileEntry.getName();
                if ((temp.substring(temp.lastIndexOf('.') + 1, temp.length()).toLowerCase()).equals("txt")) <- Tutaj zmieniam na "java"
                    System.out.println("File= " + folder.getAbsolutePath() + "\\" + fileEntry.getName());
            }

        }
    }
}

Ale mam problem bo w tym kodzie odczyt jest z katalogu głównego a ja muszę pobrać i wypisać na chwilę obecną tylko pliki z rozszerzeniem .java z innego katalogu.

2

Jedyne co zrobiłeś to przekopiowałeś fragmenty kodu z linka ode mnie. Spróbowałeś dopisać coś swojego? Przeanalizowałeś te fragmenty kodu?

  1. Mając stream plików/ ścieżek możesz przefiltrować sobie po rozszerzeniu (google).
  2. Zbierz pliki do listy
  3. Rób z nimi co chcesz

1 użytkowników online, w tym zalogowanych: 0, gości: 1