데이터 주고받기(DataOutputStream)
데이터 주고받기(DataOutputStream)
- 데이터를 주고 받는 방법을 알아본다.
- DatainputStream과 DataOutputStream의 사용법을 배운다.
- writeXXX메서드와 readXXX 메서드를 사용한다.
import java.io.*;public class WritingDatas { public void writingData(String fname, boolean append)throws IOException{ FileOutputStream fos=null; DataOutputStream dos=null; try { fos=new FileOutputStream(new File(fname), append); dos=new DataOutputStream(fos); dos.writeBoolean(append); dos.writeByte(123); dos.writeChar(75); dos.writeDouble(34.56); dos.writeFloat(345.23f); dos.writeInt(123); dos.writeLong(345L); dos.writeUTF("홍길동"); dos.flush(); //fos.close(); } catch (FileNotFoundException e) { System.out.println("잘못된 파일이름을 입력했습니다."); } } public void readingData(String fname)throws IOException{ try { FileInputStream fis=new FileInputStream(new File(fname)); DataInputStream dis=new DataInputStream(fis); System.out.println("append가능? :"+dis.readBoolean()); System.out.println("read byte :"+dis.readByte()); System.out.println("read char :"+dis.readChar()); System.out.println("read double :"+dis.readDouble()); System.out.println("read float :"+dis.readFloat()); System.out.println("read int :"+dis.readInt()); System.out.println("read long :"+dis.readLong()); System.out.println("read utf :"+dis.readUTF()); dis.close(); } catch (FileNotFoundException e) { System.out.println("잘못된 파일이름을 입력했습니다."); } }} |
import java.io.*;public class WritingDatasMain { public static void main(String[] args) { WritingDatas wd=new WritingDatas(); try { wd.writingData("writed.txt",false); wd.readingData("writed.txt"); } catch (IOException e) { e.printStackTrace(); } }} |
import java.io.*;public class WritingDatasUsing { public void writingData(String fname, boolean append, WritingData wd) throws IOException{ FileOutputStream fos=null; DataOutputStream dos=null; try { fos=new FileOutputStream(new File(fname), append); dos=new DataOutputStream(fos); dos.writeUTF(wd.getName()); dos.writeInt(wd.getAge()); dos.writeDouble(wd.getHeight()); dos.writeBoolean(wd.isMan()); } catch (FileNotFoundException e) { System.out.println("잘못된 파일이름을 입력했습니다."); } } public WritingData readingData(String fname)throws IOException{ FileInputStream fis=null; DataInputStream dis=null; WritingData wd=new WritingData(); try { fis=new FileInputStream(new File(fname)); dis=new DataInputStream(fis); wd.setName(dis.readUTF()); wd.setAge(dis.readInt()); wd.setHeight(dis.readDouble()); wd.setMan(dis.readBoolean()); } catch (FileNotFoundException e) { System.out.println("잘못된 파일이름을 입력했습니다."); } return wd; }} |
import java.io.IOException;public class WritingDatasUsingMain { public static void main(String[] args) { WritingDatasUsing wdu=new WritingDatasUsing(); WritingData wd=new WritingData(); wd.setName("홍길순"); wd.setAge(20); wd.setHeight(165); wd.setMan(false); WritingData wd2=null; try { wdu.writingData("abc.txt",true, wd); wd2=wdu.readingData("abc.txt"); System.out.println(wd2); } catch (IOException e) { e.printStackTrace(); } }}} |
댓글
댓글 쓰기