Java nudi nekoliko načina čitanja datoteke u string, od korištenja osnovnog FileReader-a do naprednijih biblioteka kao što je Apache Commons IO. U ovom članku ćemo istražiti jednu takvu metodu koristeći klasu Files u Java NIO (novi ulaz/izlaz).
Java NIO datoteke
Java NIO, predstavljen u Javi 1.4, je skup biblioteka čiji je cilj da neblokirajuće I/O operacije učine efikasnijim i lakšim za rad. Klasa Files, dio paketa java.nio.file, pruža mnoge uslužne metode za izvođenje različitih operacija datoteka, uključujući čitanje datoteke u niz.
Uđimo sada u objašnjenje koda korak po korak.
Korak 1: Prvo ćemo morati da uvezemo potrebne pakete:
“`java
import java.nio.file.Files;
import java.nio.file.Paths;
import java.io.IOException;
"`
Korak 2: Zatim ćemo kreirati metodu koja uzima putanju datoteke kao ulaz i vraća sadržaj datoteke kao niz:
“`java
javni statički String readFileToString(String filePath) {
String fileContent = “”;
pokušajte {
fileContent = new String(Files.readAllBytes(Paths.get(filePath)));
} catch(IOException e) {
e.printStackTrace();
}
return fileContent;
}
"`
Korak 3: Konačno, možemo koristiti našu metodu u main():
“`java
javna statička void glavna (String [] args) {
String filePath = “path/to/your/file.txt”;
String fileContent = readFileToString(filePath);
System.out.println(fileContent);
}
"`
Sada, zaronimo dublje u metode i klase korištene u rješenju.
Paths.get()
Klasa java.nio.file.Paths nudi statičke metode za konstruisanje Path objekata. Jedna od ovih metoda je get(). Metoda Paths.get() uzima string koji predstavlja putanju datoteke i konvertuje je u objekat Path. Ovaj objekat se kasnije koristi kao argument metodi Files.readAllBytes().
- String filePath: Putanja datoteke navedena kao argument.
- Putanja objekta: Vraćeni objekt Path predstavlja datoteku na navedenoj putanji.
Files.readAllBytes()
Metoda Files.readAllBytes() je dio klase java.nio.file.Files. Čita sve bajtove iz datoteke i vraća niz bajtova. Ovaj niz bajtova se zatim koristi za konstruisanje stringa, pružajući jednostavan i efikasan način čitanja sadržaja datoteke.
- Putanja objekta: Objekat Putanja koji predstavlja datoteku.
- bajt[]: Niz bajtova koji sadrži sadržaj datoteke.
Ukratko, koristeći klasu Java NIO Files i njene uslužne metode, možemo efikasno pročitati sadržaj datoteke u string. Kombinacija metoda Paths.get() i Files.readAllBytes() pruža robusno, lako razumljivo i efikasno rješenje za ovaj uobičajeni zadatak. Razumijevanjem unutrašnjeg rada ove moćne biblioteke, možete iskoristiti njen puni potencijal za vaše potrebe rukovanja Java datotekama.