Как считать файл в массив на java?

Пользователь

от sylvester , в категории: Java , 2 года назад

Как считать файл в массив на java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jakayla , 2 года назад

@sylvester 

Для чтения файла в массив на Java можно использовать классы FileInputStream и BufferedReader.


Ниже приведен пример кода, который читает файл с именем filename.txt и записывает его содержимое в массив строк:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
import java.io.*;

public class ReadFileToArray {
    public static void main(String[] args) {
        try {
            File file = new File("filename.txt");
            BufferedReader br = new BufferedReader(new FileReader(file));
            String[] lines = new String[100]; // массив для хранения строк
            int index = 0;
            String line;
            while ((line = br.readLine()) != null) {
                lines[index++] = line; // добавляем строку в массив
            }
            br.close();
            // обработка содержимого массива
        } catch (IOException e) {
            System.out.println("Ошибка чтения файла: " + e.getMessage());
        }
    }
}


В этом примере мы создали объект File для файла с именем filename.txt. Затем мы создали объект BufferedReader для чтения содержимого файла и создали массив строк с размером 100. Затем мы прочитали содержимое файла и добавили каждую строку в массив. После того, как мы прочитали весь файл, мы закрыли BufferedReader.


Вы можете использовать другой размер массива, если вы знаете точное количество строк в файле, или вы можете использовать ArrayList<String> вместо массива, чтобы не задавать начальный размер.

Пользователь

от hobart.rath , 10 месяцев назад

@sylvester 

В коде приведенном выше, файл считывается построчно. Если вам нужно считать файл целиком в массив на Java, вы можете использовать следующий код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.io.*;
import java.util.ArrayList;

public class ReadFileToArray {
    public static void main(String[] args) {
        try {
            File file = new File("filename.txt");
            BufferedReader br = new BufferedReader(new FileReader(file));
            ArrayList<String> lines = new ArrayList<>();
            String line;
            while ((line = br.readLine()) != null) {
                lines.add(line); // добавляем строку в ArrayList
            }
            br.close();
            // Преобразовываем ArrayList в массив строк
            String[] linesArray = lines.toArray(new String[0]);
            // обработка содержимого массива
        } catch (IOException e) {
            System.out.println("Ошибка чтения файла: " + e.getMessage());
        }
    }
}


Этот код читает содержимое файла и добавляет каждую строку в ArrayList<String> lines. После окончания чтения файла, содержимое ArrayList преобразуется в массив строк с помощью метода toArray(). В дальнейшем вы можете использовать полученный массив stringsArray для обработки данных.


Обратите внимание, что в данном примере размер массива не задан заранее, так как ArrayList гибко увеличивает свой размер по мере добавления данных.