Rumah >Java >javaTutorial >Bagaimana untuk Menukar Integer Dipisahkan Ruang daripada Fail Teks ke ArrayList di Java?
Bacaan Fail Teks Java: Menukar Nilai Dipisahkan Ruang ke dalam ArrayList
Membaca data daripada fail teks dan menyusunnya ke dalam format yang cekap adalah selalunya penting dalam pengaturcaraan. Mari terokai cara membaca fail teks yang mengandungi integer yang dipisahkan ruang dan menyimpannya dalam ArrayList menggunakan Java.
Langkah 1: Membaca Fail
Untuk membaca teks fail, anda boleh menggunakan kaedah Files.readAllLines(), yang mengembalikan senarai baris rentetan. Setiap baris fail teks akan diwakili sebagai rentetan dalam senarai ini.
Langkah 2: Membahagi Baris
Untuk mengekstrak nilai integer daripada setiap baris, kami boleh menggunakan kaedah split() pada setiap rentetan. Kaedah ini membahagikan rentetan kepada tatasusunan subrentetan berdasarkan pembatas. Untuk nilai yang dipisahkan ruang, kami akan menggunakan "\s " sebagai pembatas, yang sepadan dengan satu atau lebih aksara ruang putih.
Langkah 3: Menukar Rentetan kepada Integer
Setiap subrentetan yang terhasil daripada panggilan split() mewakili integer. Kita boleh menggunakan kaedah Integer.valueOf() untuk menukar subrentetan ini kepada nilai integer.
Langkah 4: Menambah Integer pada ArrayList
Akhir sekali, kita boleh mengulangi tatasusunan integer dan tambahkan setiap satu ke ArrayList menggunakan add() kaedah.
Menyatukan Semuanya
Menggabungkan langkah-langkah ini, kami tiba di coretan kod Java berikut:
import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; public class TextFileReader { public static void main(String[] args) { String pathToFile = "/path/to/test.txt"; try { // Read the file into a list of strings List<String> lines = Files.readAllLines(Paths.get(pathToFile)); // Initialize an empty ArrayList to store the integers List<Integer> numbers = new ArrayList<>(); // Iterate over each line for (String line : lines) { // Split the line into substrings String[] parts = line.split("\s+"); // Convert each substring to an integer and add it to the ArrayList for (String part : parts) { int i = Integer.valueOf(part); numbers.add(i); } } // Print the ArrayList to demonstrate it has been populated System.out.println(numbers); } catch (IOException e) { e.printStackTrace(); } } }
Nota : Untuk Java 8 dan ke atas, terdapat pendekatan yang lebih mudah dan ringkas menggunakan API Strim. Anda boleh menemui versi Java 8 di bahagian jawapan yang disediakan.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Integer Dipisahkan Ruang daripada Fail Teks ke ArrayList di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!