컴퓨터 엑셀 워드 포토숍 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post 파이썬 Python, 헥사 뷰어, 헥사 덤프 만들기 소스 코드; Hex Viewer, Fi...매스매티카 Mathematica, 정규분포, 가우스 분포 랜덤 난수 발생 함수; Norma...매스매티카 Mathematica, 화면(노트북)지우기 명령, 변수 삭제; Clear Not...매스매티카 Mathematica] 랜덤 난수 출력 함수, 정수 실수; Random Rand...C언어] printf 함수 CR-LF 줄바꿈, 개행문자(Newline), 엔터(Enter)...Perl 펄] 헥사 뷰어, 헥사 덤프 만들기 소스 코드; Hex Viewer, File D...Excel 엑셀] 파이값 상수, 원주율 구하기 함수; PI (파이) ConstantJava 자바] 이진파일 읽기, 바이너리 파일 열기; Read Binary FileJava 자바] 헥사 뷰어 소스, 헥사 덤프 만들기; Hex View, File Dump ...C언어] 헥사 뷰어 소스, 헥사 덤프 만들기; Hex View, File Dump Sour...

Java 자바] 이진파일 쓰기, 바이너리 파일로 저장 예제 소스; Binary File Write Save

Wednesday, April 18, 2007

바이트 값이 들어 있는 배열을 파일로 저장하는 예제 소스입니다. 즉, "이진 파일 쓰기"입니다.

다만, 자바의 byte 는 unsigned가 아니기에 0xFF 상수를 넣으면 possible loss of precision 이런 에러가 발생합니다. 따라서 다음과 같이, 바이트 배열이 아닌 int 배열에 바이트 값을 넣어야 합니다.

이진 파일에 바이트/정수 배열 쓰기 예제 소스


소스 파일명: Example.java
import java.io.*;

public class Example {
  public static void main(String[] args) throws IOException {

    String filename = "out.bin";
    DataOutputStream out = new DataOutputStream(new FileOutputStream(filename));

    // byte 배열이 아닌 정수 배열이어야, byte 데이터가 제대로 입력됨
    int[] b = { 0x01, 0x02, 0x03, 0x04, 0x0D, 0x0A, 0x00, 0xFF };


    // 위의 int배열의 요소를 하나씩 꺼내어,
    // 바이트 형식으로 파일에 저장
    for (int i = 0; i < b.length; i++)
      out.write(b[i]);


    out.close(); // 파일 닫기

  }
}



컴파일 및 실행 결과 화면:
D:\Z>javac Example.java && java Example

D:\Z>hexdump.pl out.bin
00000000:  01 02 03 04 0D 0A 00 FF                           ........

D:\Z>


현재 디렉토리에 out.bin 이라는 8바이트 크기의 이진파일이 생성되어 있을 것입니다. 위의 화면처럼 헥사 뷰어로 보면 그 안에, 소스의 배열에 있는 바이트들이 그대로 나옵니다.


▶▶ Java 자바] 이진파일 읽기, 바이너리 파일 열기; Read Binary File

▶▶ Java 자바] 헥사 뷰어 소스, 헥사 덤프 만들기; Hex View, File Dump Source Code

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top