ByteInputStreamÀº byte´ÜÀ§ÀÇ ÀÔ·Â ±â´É¸¸À» Á¦°øÇØÁÖÁö¸¸, DataInputStreamÀº ÀÚ¹Ù¿¡¼ Á¦°øÇÏ´Â boolean ,byte, char, short, int, long, float, double µî°ú °°Àº ÀÚ·áÀÇ ±âº»Çü(primitive type)À» Á÷Á¢ ÀÐ°í ¾µ ¼ö ÀÖµµ·Ï ÇØ ÁÝ´Ï´Ù. ¿©±â¼ Á¦°øµÇ´Â ¸Þ¼µå´Â ¾Õ¼¹è¿î RandomAccessFile¿¡¼ Á¦°øµÇ´Â ¸Þ¼µå¿Í µ¿ÀÏÇÕ´Ï´Ù. ÀÌ Å¬·¡½º¿¡¼´Â À¯´ÏÄÚµå ¹®ÀÚ¿À» UTF-8(UCS Transformation Format 8)Çü½ÄÀ¸·Î Ç¥ÇöÇϸç ÁÖ·Î ºñÆ®¸Ê À̹ÌÁö ÆÄÀϰú °°Àº À̹ÌÁö ÆÄÀÏÀ» ÀÚ¹Ù¿¡¼ ´Ù·ç·Á ÇÒ ¶§ ¸¹ÀÌ ¾²ÀÔ´Ï´Ù.
¢Ñ UTF-8 |
ASCII·Î ÅØ½ºÆ® ±â¹ÝÀÇ Åë½ÅÀ» ÇÒ ¶§ È¿À²ÀûÀÎ À¯´ÏÄÚµå ¹®ÀÚ ÀÎÄÚµùÀ» ¸»ÇÑ´Ù. |
´ÙÀ½ ¿¹Á¦´Â DataInputStream°ú DataOutputStreamÀ» »ç¿ëÇÑ °£´ÜÇÑ ¿¹Á¦ÀÔ´Ï´Ù.
DataInputOutputStreamTest.java (DataInputStream, DataOutputStreamÀ» Å×½ºÆ®ÇÑ ¿¹Á¦) |
import java.io.*; class DataInputOutputTest { public static void main(String[] args) throws IOException, FileNotFoundException { char c = 'A'; char c1 = 'X'; String str = "jabook"; String str1 = "java"; String file = "DataInputOutputTest.txt"; DataInputStream in = null; DataOutputStream out = null; FileOutputStream fout = new FileOutputStream(file); out = new DataOutputStream(fout); out.writeChar(c); out.writeUTF(str); out.close(); FileInputStream fin = new FileInputStream(new File(file)); in = new DataInputStream(fin); System.out.println("c:"+c+" c1:"+c1+" str:"+str+" str1:"+str1); c1 = in.readChar(); str1 = in.readUTF(); in.close(); System.out.println("c:"+c+" c1:"+c1+" str:"+str+" str1:"+str1); } } |
C:\JavaExample\09>javac DataInputOutputTest.java C:\JavaExample\09>java DataInputOutputTest c:A c1:X str:jabook str1:java c:A c1:A str:jabook str1:jabook |
ÆÄÀÏÀ̸§ÀÌ ¡®DataInputOutputTest.txt¡¯ÀÎ ÆÄÀÏÀ» »ý¼ºÇÕ´Ï´Ù. À̶§ FileOutputStreamÀÌ »õ·Î¿î ÆÄÀÏ¿¡ ±â·ÏÇϱ⠶§¹®¿¡ °°Àº À̸§À» °®´Â ±âÁ¸ÀÇ ÆÄÀÏÀº »èÁ¦°¡ µË´Ï´Ù..
n FileOutputStream fout = new FileOutputStream(file);
FileOutputStream¿¡ ¿¬°áµÈ DataOutputStreamÀ» »ý¼ºÇÕ´Ï´Ù. ¸ðµç µ¥ÀÌÅÍ´Â ¹ÙÀÌÆ®·Î ³ª´²Á®¼ ½ºÆ®¸²À¸·Î Àü¼ÛµË´Ï´Ù.
n out = new DataOutputStream(fout);
DataInputOutputTest.txt¡¯¿¡ ¡®A¡¯¿Í ¡®jabook¡¯À̶ó°í Ãâ·ÂÇÕ´Ï´Ù. Char, StringÇüÀÇ °ªÀ» DataOutputStreamÀ¸·Î Ãâ·ÂµË´Ï´Ù. writeUTF(str)´Â ¼öÁ¤µÈ À¯´ÏÄÚµåÀÇ UTF-8Çü½ÄÀ¸·Î ½ºÆ®¸µÀ» Ãâ·ÂÇØÁÝ´Ï´Ù. ±×¸®°í, close()¸Þ¼µå´Â OutputStreamÀ» ´Ý¾ÆÁÝ´Ï´Ù.
n out.writeChar(c);
n out.writeUTF(str);
n out.close();
FileInputStream°´Ã¼ finÀ» »ý¼ºÇÏ¿© ÆÄÀÏÀ̸§ÀÌ ¡®DataInputOutputTest.txt¡¯ÀÎ ÆÄÀÏÀ» ºÒ·¯¿É´Ï´Ù. FileInputStreamÀº ÆÄÀÏ¿¡¼ ¿¬¼ÓÀûÀ¸·Î µ¥ÀÌÅ͸¦ ÀÐÀ» ¼ö ÀÖµµ·Ï ÇØÁÝ´Ï´Ù.
n FileInputStream fin=new FileInputStream(new File(file));
DataInputStream inÀº FileInputStreamÀ¸·ÎºÎÅÍ ¸ðµç µ¥ÀÌÅ͸¦ ÀоîµéÀÔ´Ï´Ù. ¡®A¡¯¿Í ¡¯jabook¡¯À» ÀÐ¾î µé¿´°ÚÁÒ.
n in = new DataInputStream(fin);
¸ÕÀú º¯¼ö¿¡ ¾²±â Àü¿¡ °¢°¢ÀÇ °ªÀ» Ãâ·ÂÇß½À´Ï´Ù. ±× °á°ú´Â ¡®c:A c1:X str:jabook str1:java ¡® ÀÔ´Ï´Ù.
½ºÆ®¸²À¸·ÎºÎÅÍ char, String¿¡ ÇØ´çÇÏ´Â °ªÀ» ÀÐ¾î¼ °¢°¢ c1, str1À¸·Î ¹Þ¾Ò½À´Ï´Ù.
n c1 = in.readChar();
n str1 = in.readUTF();
´Ù½Ã °ªÀ» Ãâ·ÂÇØº¸¸é ¡®c:A c1:A str:jabook str1:jabook¡¯·Î c1¤Ñ, str1¿¡¼ Ãâ·ÂµË´Ï´Ù.
n System.out.println("c:"+c+" c1:"+c1+" str:"+str+" str1:"+str1);
DataInputStream°ú DataOutputStreamÀº ¹ÙÀÌÆ®±â¹ÝÀÇ ½ºÆ®¸²À¸·ÎºÎÅÍ ¾î¶² µ¥ÀÌÅÍŸÀÔÀÌ´øÁö ´Ù ¾²°í ´Ù Àоî³À´Ï´Ù. UTFÇü½ÄÀ¸·Î ¾²ÀÎ ¸Þ¼µå´Â °ø¿ë Ç¥ÁØÀ¸·Î ÀÚ¹Ù°¡ ¾Æ´Ñ ´Ù¸¥ ¾ð¾î·Î ¾²ÀÎ ¾ÖÇø®ÄÉÀ̼ǿ¡¼µµ À¯´ÏÄÚµå ½ºÆ®¸µÀ» ÀÐ°í ¾µ ¼öÀÖ½À´Ï´Ù.
DataInputStream, DataOutputStream »ý¼ºÀÚ¸Þ¼µå |
public DataInputStream(InputStream in) : InputStream¿¡ ´ëÇÑ DataInputStream°´Ã¼¸¦ »ý¼ºÇÕ´Ï´Ù. public DataOutputStream(OutputStream out) : OutputStream¿¡ ´ëÇÑ DataOutputStream °´Ã¼¸¦ »ý¼ºÇÕ´Ï´Ù. |
DataInputStream, DataOutputStream ÁÖ¿ä ¸Þ¼µå |
public void flush() : µ¥ÀÌÅÍ ¹ÙÀÌÆ® Ãâ·Â ½ºÆ®¸²ÀÇ ³»¿ëÀ» flush ÇÕ´Ï´Ù. public int size() : ÇöÀç Ãâ·ÂÇÑ ¹ÙÀÌÆ® ¼ö¸¦ ¹ÝȯÇÕ´Ï´Ù. public String readUTF() :UTF-8 Çü½ÄÀÇ ¹®ÀÚ¿À» ÀнÀ´Ï´Ù. public void writeUTF(String str) : UTF-8 Çü½ÄÀÇ ¹®ÀÚ¿À» ¾¹´Ï´Ù. public static String readUTF(DataInput in) : ÁÖ¾îÁø DataInput°´Ã¼¸¦ ÀÌ¿ë, UTF-8 Çü½ÄÀÇ ¹®ÀÚ¿À» ÀнÀ´Ï´Ù. public String readLine() : ÅØ½ºÆ® ÇÑ ÁÙÀ» ÀоîµéÀÌ°í °¢°¢ÀÇ byte¸¦ charÇü °ªÀ¸·Î º¯È¯ÇÕ´Ï´Ù. public boolean readBoolean() : ÇÑ ¹ÙÀÌÆ®¸¦ Àоî 0À̸é false, 0ÀÌ ¾Æ´Ï¸é ture¸¦ ¹ÝȯÇÕ´Ï´Ù. public void writeBoolean(boolean v) : ÁÖ¾îÁø boolean °ªÀ» »ç¿ëÇÕ´Ï´Ù. |
jabookÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù2ºÎ ÀúÀÚ:ÃÖ¿µ°ü |