DataIn & Out 간단한 예제

먼저 파일 제목을 보내고 나서 파일 스트림을 쏴주는 방식



package io4;

import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.FileInputStream;

import java.io.InputStream;

import java.net.ServerSocket;

import java.net.Socket;


public class DataInEx {

//bad code

public static void main(String[] args) throws Exception{

ServerSocket server = new ServerSocket(5555);

System.out.println("ready server....");

Socket socket = server.accept();

System.out.println("client connected..." + socket);

DataOutputStream clientDos 

 = new DataOutputStream(socket.getOutputStream());

String title = "My Fathers Eyes.mp3";

clientDos.writeUTF(title);

InputStream in = new FileInputStream("C:\\zzz\\My Fathers Eyes.mp3");

byte[] buffer = new byte[1024*8];

while (true){

int count = in.read(buffer);

if(count == -1){

break;

}

clientDos.write(buffer,0, count);

}

clientDos.flush();

clientDos.close();

}

}



-------------------------------------------------------------------------------------------------


package io4;

import java.io.DataInputStream;

import java.io.FileOutputStream;

import java.net.Socket;


public class DataOutEx {

//bad code

public static void main(String[] args) throws Exception{

Socket socket = new Socket("127.0.0.1", 5555);

DataInputStream din =

new DataInputStream(socket.getInputStream());

String title = din.readUTF();

System.out.println(title);

FileOutputStream fos 

= new FileOutputStream("C:\\zzz\\copy_" +title);

byte[] buffer = new byte[1024*8];

while(true){

int count = din.read(buffer);

if(count == -1){ break;}

fos.write(buffer,0,count);

}

}

}

Posted by 타다키치
,