ByteStream

Java/기본 2012. 4. 18. 12:26 Posted by 퓨어레드

ByteStream 쓰는 예제 - 다른 블로그에서 가지고 온것 같았는데 출처를 잊어버렸습니다. 혹시라도

문제가 될시에는 댓글 달아주시면 삭제하겠습니다.

 

/*
* IO Stream - byte streamming
-> byte방식으로 전송하는 객체
InputStream -> Application -> OutputStream

1. File Stream
1) File로 기록하는 방법
Application -> OutputStream -> File
2) File에 기록된 데이터를 응용프로그램으로 가져오는 방법
File -> InputStream -> Application
*/

import java.io.*;

class _FileInputStream 
{
	public String getMessage()
	{
		BufferedReader in;
		String msg = "";
		System.out.print("\nInput Message?");

		try
		{
			in = new BufferedReader(new InputStreamReader(System.in));
			msg = in.readLine();
			in.close();
		}
		catch(IOException ie){}

		return msg;
	}

	/*File에 데이터를 기록하는 부분*/    
	public boolean fileWrite(String data)
	{
		OutputStream os = null;
		boolean sw = false;
		try
		{
			os = new FileOutputStream("a.txt");
			os.write(data.getBytes());
			os.close();
			sw = true;
		}
		catch(IOException ie){}

		return sw;
	}
}

class _FileOutputStream 
{

	/*기록된 파일에서 데이터를 읽는 방법*/
	public String fileRead(String file)
	{
		InputStream is = null;
		String msg = "";
		try
		{
			is = new FileInputStream(file);
			byte b[] = new byte[1024];

			while(is.read(b) != -1)
			{
				msg += new String(b);
			}

			is.close();
		}
		catch(IOException e){}

		return msg;
	}
}

public class ByteStreamExam 
{
	public void write()
	{
		_FileInputStream fs = new _FileInputStream();

		if(fs.fileWrite(fs.getMessage()))
			System.out.println("a.txt로 기록되었습니다.");
		else
			System.out.println("a.txt에 기록을 실패하였습니다.");
	}

	public void read()
	{
		_FileOutputStream fos = new _FileOutputStream();
		System.out.println(fos.fileRead("a.txt"));  
	}

	public static void main(String[]args)
	{
		//new ByteStreamExam().write();
		new ByteStreamExam().read();
	}
} 

'Java > 기본' 카테고리의 다른 글

Java.. 레이블된 break, continue  (0) 2012.04.18
현재 사용하는 OS 이름 가져오기  (0) 2012.04.18
Method 동적 호출  (0) 2012.04.18
자바 타이머 기능  (0) 2012.04.18
Java Generic  (0) 2012.04.18