zoaseo
To Infinity And Beyond
zoaseo
전체 방문자
오늘
어제
  • 분류 전체보기 (763)
    • 개발이 좋아서 (381)
      • SAP가 좋아서 (3)
      • Java가 좋아서 (42)
      • Spring이 좋아서 (50)
      • JPA가 좋아서 (0)
      • QueryDSL이 좋아서 (26)
      • Docker가 좋아서 (7)
      • Redis가 좋아서 (7)
      • AWS가 좋아서 (5)
      • CI/CD가 좋아서 (6)
      • Troubleshooting이 좋아서 (4)
      • Kotlin이 좋아서 (7)
      • SQL이 좋아서 (6)
      • HTTP가 좋아서 (21)
      • JavaScript가 좋아서 (30)
      • TypeScript가 좋아서 (6)
      • Vue가 좋아서 (21)
      • Flutter가 좋아서 (61)
      • React가 좋아서 (20)
      • Redux(React)가 좋아서 (2)
      • Angular가 좋아서 (22)
      • HTML이 좋아서 (9)
      • CSS가 좋아서 (15)
      • PHP가 좋아서 (9)
      • Illustrator가 좋아서 (2)
    • 노력이 좋아서 (169)
    • 결과물이 좋아서 (14)
    • 코딩연습이 좋아서 (168)
      • 이론이 좋아서 (62)
      • SQL이 좋아서 (90)
    • 유용한 사이트가 좋아서 (28)
    • Github (2)

인기 글

티스토리

hELLO · Designed By 정상우.
zoaseo

To Infinity And Beyond

개발이 좋아서/Java가 좋아서

I/O 기본1 - 스트림

2024. 11. 26. 14:28

- new FileOutputStream("temp"/hello.dat")

  • 파일에 데이터를 출력하는 스트림이다.
  • 파일이 없으면 파일을 자동으로 만들고, 데이터를 해당 파일에 저장한다.
  • 폴더를 만들지는 않기 때문에 폴더는 미리 만들어두어야 한다.

- write()

  • byte 단위로 값을 출력한다.

- new FileInputStream("temp/hello.dat")

  • 파일에서 데이터를 읽어오는 스트림이다.

- read()

  • 파일에서 데이터를 byte 단위로 하나씩 읽어온다.
  • 파일의 끝에 도달해서 더는 읽을 내용이 없다면 -1 을 반환한다. 파일의 끝(EOF, End of File)

 

부분으로 나누어 읽기

public static void main(String[] args) throws IOException {
    FileOutputStream fos = new FileOutputStream("temp/hello.dat");
    byte[] input = {65, 66, 67};
    fos.write(input);
    fos.close();

    FileInputStream fis = new FileInputStream("temp/hello.dat");
    byte[] buffer = new byte[10];
    int readCount = fis.read(buffer, 0, 10);
    System.out.println("readCount = " + readCount);
    System.out.println(Arrays.toString(buffer));
    fis.close();
}

- read(byte[], offset, length)

 

한번에 읽기

public static void main(String[] args) throws IOException {
    FileOutputStream fos = new FileOutputStream("temp/hello.dat");
    byte[] input = {65, 66, 67};
    fos.write(input);
    fos.close();

    FileInputStream fis = new FileInputStream("temp/hello.dat");
    byte[] readBytes = fis.readAllBytes();
    System.out.println(Arrays.toString(readBytes));
    fis.close();
}

-readAllBytes()

'개발이 좋아서 > Java가 좋아서' 카테고리의 다른 글

I/O 기본1 - 파일 입출력과 성능 최적화 (buffered)  (1) 2024.11.26
I/O 기본1 - InputStream / OutputStream  (0) 2024.11.26
문자 인코딩  (0) 2024.11.26
Exception  (0) 2023.05.09
내부 클래스  (0) 2023.05.09

    티스토리툴바