В тази програма ще научите различни техники за създаване на низ от съдържанието на даден файл в Java.
За да разберете този пример, трябва да имате познанията по следните теми за програмиране на Java:
- Java String
- Java File Class
Преди да създадем низ от файл, предполагаме, че имаме файл с име test.txt в нашата папка src .
Ето съдържанието на test.txt
Това е тестов файл.
Пример 1: Създаване на низ от файл
import java.io.IOException; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; public class FileString ( public static void main(String() args) throws IOException ( String path = System.getProperty("user.dir") + "\src\test.txt"; Charset encoding = Charset.defaultCharset(); List lines = Files.readAllLines(Paths.get(path), encoding); System.out.println(lines); ) )
Изход
(Това е тестов файл.)
В по-горе програма, ние използваме System
е user.dir
собственост, за да получите текущата директория се съхранява в променлива път. Проверете Java Program, за да получите текущата директория за повече информация.
Използвахме defaultCharset()
за кодирането на файла. Ако знаете кодирането, използвайте го, иначе е безопасно да използвате кодиране по подразбиране.
След това използвахме readAllLines()
метод за четене на всички редове от файла. Той поема по пътя на файла и неговото кодиране и връща всички редове като списък, както е показано в изхода.
Тъй като readAllLines
може да хвърли и IOException, трябва да дефинираме основния си метод като такъв
public static void main (String () args) изхвърля IOException
Пример 2: Създаване на низ от файл
import java.io.IOException; import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Paths; public class FileString ( public static void main(String() args) throws IOException ( String path = System.getProperty("user.dir") + "\src\test.txt"; Charset encoding = Charset.defaultCharset(); byte() encoded = Files.readAllBytes(Paths.get(path)); String lines = new String(encoded, encoding); System.out.println(lines); ) )
Изход
Това е тестов файл.
В горната програма, вместо да получим списък с низове, получаваме един низ, редове, с цялото съдържание.
За това използвахме readAllBytes()
метод за четене на всички байтове от дадения път. След това тези байтове се преобразуват в низ, като се използва кодирането по подразбиране.