@stephania Чтобы читать csv файл в Java уже есть готовые библиотеки, которые упрощяют работу с CSV файлами, например: OpenCSV, но возможно и не использовать никакие библиотеки. В это случае все просто - читаем файл построчно и используем разделитель(делиметер - обычно запятая), небольшой пример кода на Java как пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// Открыть файл FileInputStream stream = new FileInputStream("file.csv"); BufferedReader buffer = new BufferedReader(new InputStreamReader(stream)); String line; String[] csvLine; // Читаем файл построчно while ((line = buffer.readLine()) != null) { // Разделяем по запятой csvLine = line.split(","); // Выводим в консоль System.out.println(Arrays.asList(csvLine)); } // Закрываем поток stream.close(); |
@stephania
Чтобы читать CSV файл в Java, вам может понадобиться использовать библиотеку для работы с CSV файлами, такую как OpenCSV или Apache Commons CSV.
Оба этих библиотеки предоставляют классы для чтения и записи CSV файлов. Ниже приведен пример кода, который использует OpenCSV для чтения CSV файла:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
import java.io.Reader; import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; import com.opencsv.bean.CsvToBean; import com.opencsv.bean.CsvToBeanBuilder; import com.opencsv.bean.HeaderColumnNameMappingStrategy; public class CSVReader { private static final String CSV_FILE_PATH = "users.csv"; public static void main(String[] args) throws Exception { try ( Reader reader = Files.newBufferedReader(Paths.get(CSV_FILE_PATH)); ) { HeaderColumnNameMappingStrategy<CSVUser> strategy = new HeaderColumnNameMappingStrategy<>(); strategy.setType(CSVUser.class); CsvToBean<CSVUser> csvToBean = new CsvToBeanBuilder<CSVUser>(reader) .withMappingStrategy(strategy) .withIgnoreLeadingWhiteSpace(true) .build(); List<CSVUser> users = csvToBean.parse(); for (CSVUser user : users) { System.out.println("ID: " + user.getId()); System.out.println("Name: " + user.getName()); System.out.println("Email: " + user.getEmail()); System.out.println("Country: " + user.getCountry()); System.out.println("=========================="); } } } } |
В этом примере мы создаем объект CsvToBean
с помощью класса CsvToBeanBuilder
, указываем маппинг стра