Java에서 데이터 가져오기
Anthony Markham
VP Quant Developer
InputStream/OutputStream)Reader/Writer)
InputStream(읽기), OutputStream(쓰기)FileInputStream, FileOutputStreamread()는 바이트 반환, write()는 바이트 출력
try (FileInputStream fis = new FileInputStream("data.bin")) {byte[] buffer = new byte[1024]; int bytesRead;while ((bytesRead = fis.read(buffer)) != -1) { // Process bytes in bufferSystem.out.println("Read " + bytesRead + " bytes"); }} catch (Exception e) { System.err.println("Error: " + e.getMessage()); }
Reader(텍스트 읽기), Writer(텍스트 쓰기)FileReader, FileWriter, BufferedReader, BufferedWriterreadLine()으로 한 줄 읽기
try (BufferedReader reader = new BufferedReader(new FileReader("data.csv"))) { String line;while ((line = reader.readLine()) != null) { // Process each line System.out.println(line); }} catch (Exception e) { System.err.println("Error: " + e.getMessage()); }
BufferedInputStream, BufferedOutputStream으로 바이트 스트림 읽기/쓰기BufferedReader, BufferedWriter로 문자 스트림 읽기/쓰기readLine()으로 한 줄 전체 읽기try (BufferedReader reader = new BufferedReader(new FileReader("data.csv"))) { // Header processing String header = reader.readLine(); System.out.println("Header: " + header);// Efficient data reading String line; int count = 0; while ((line = reader.readLine()) != null) { count++; } System.out.println("Read " + count + " data rows"); } catch (Exception e) { System.out.println("Error: " + e.getMessage()); }
FileInputStream -> InputStreamReader -> BufferedReaderimport java.nio.charset.StandardCharsets;
try (BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("data.csv"),StandardCharsets.UTF_8 ))) { String line; while ((line = reader.readLine()) != null) { System.out.println(line);} } catch (Exception e) { System.err.println("Error: " + e.getMessage()); }
IOException, FileNotFoundExceptionimport java.util.ArrayList;
import java.util.List;
public static List<String> readLines(String filePath) throws IOException {List<String> lines = new ArrayList<>(); try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) { String line; while ((line = reader.readLine()) != null) { lines.add(line); } } // Stream automatically closed here return lines;}
Java에서 데이터 가져오기