#####################################
#  파일에서 정보 읽기 및 정보 저장  # 
#####################################

작성자 : 장형화(hhjang97@venus.uos.ac.kr)
작성일 : 2004. 12. 30 
수정일 : 
  2005. 01. 11 : 저장 위치 지정 추가("c:/network.out";)


원본 :
설명 :

대부분 네트웍 프로그램은 바이트 단위로 작업이 이루어 진다.
이미 바이트를 만들어서 File에 저장하고, 
만들어진 파일을 읽어서 프로그램을 하게되면 디버깅도 쉽고
프로그램 수정도 쉽게 할수 있는 장점이 있다. 


################################# ################################# #################################

import java.io.*;
import org.kwis.msp.io.File;


	public void makeByteFile() {

		byte[] recvBuf = null;
		byte[] isTotalSize = null;
		String str = null;
		byte[] strSize = null;
		try {
			
			recvBuf = Util.writeByteInt(1);	// 성공
			recvBuf = Util.addBytes(recvBuf, Util.writeByteInt(1) );	// 목록 개수
			
			//=== Data 1			
			recvBuf = Util.addBytes(recvBuf, Util.writeByteInt(313486) );
			recvBuf = Util.addBytes(recvBuf, Util.writeByteInt(540782) );
			recvBuf = Util.addBytes(recvBuf, Util.writeByteInt(322570) );
			recvBuf = Util.addBytes(recvBuf, Util.writeByteInt(548910) );
			str = "서울특별시 강남구";
			strSize = Util.writeByteInt(str.getBytes().length);
			recvBuf = Util.addBytes(recvBuf, strSize);			
			recvBuf = Util.addBytes(recvBuf, Util.getFixBytes(str, str.getBytes().length) );
			
			
			// add total size
			recvBuf = Util.addBytes(Util.writeByteInt(recvBuf.length), recvBuf); 

			Util.printByte(recvBuf);
			
			// File에 저장 : Driver:\filename 에 저장됨
			String filename = "category.out"; // "c:/network.out";
			File file = new File(filename,File.WRITE_TRUNC);
			DataOutputStream dos = file.openDataOutputStream();
			dos.write(recvBuf);
			dos.flush();
			dos.close();
			file.close();


			System.out.println("=== File로 부터 정보 읽기 ===");
			recvBuf = readByteFile(filename);
			Util.printByte(recvBuf);
						
		} catch (Exception e) {
			e.printStackTrace();
		}


	} // makeByteFile

	
	public byte[] readByteFile(String filename) {
		File file=null;
		byte[] readPacket=null;
		try{
			file = new File(filename, File.READ_ONLY);
			InputStream iis = file.openInputStream();
			int readPacketSize = file.sizeOf();
			System.out.println("  iis.available() = "+ readPacketSize);
			readPacket = new byte[readPacketSize];
			iis.read(readPacket);
			iis.close();
		}
		catch(Exception e)
		{
		}
		
		return readPacket;
	}


	


#################################
# 
#################################