package min2;
import java.io.*;
// 받는부분
import java.net.*;
import java.util.*;
public class FileR {
public static void main(String[] args)throws Exception {
Socket s=new Socket("192.168.1.159",7777);
// 민정이한테 소켓연결
InputStream is = s.getInputStream();
Scanner sc = new Scanner(is);
String str = sc.nextLine();
System.out.println("온거"+str);
//String[] k = str.split("/");
//System.out.println("받을데이터크기 :"+k[0]);
//System.out.println("받을데이터형식 :"+k[1]);
DataInputStream dis=new DataInputStream(s.getInputStream());
//나한테 보내는 데이터를 일음
FileOutputStream fos=new FileOutputStream("보내준.hwp");
//전송받은 파일을 내 컴퓨터에 출력(저장)한다
byte[] buffer=new byte[8*1024]; //바이트배열생성
try{
while(true){
int len=dis.read(buffer, 0, 8*1024);
//buffer에 0번째부터 8x1024만큼 읽는다.
if(len==-1){//만약에 읽을께 없으면 -1을 출력하고
System.out.println("다운성공");
break;//브레이크
}
fos.write(buffer, 0, len); // 8키로바이트 용량만큼의 길이만큼 쓴다. 이걸 반복함
}
}
catch(Exception e){}
}
}
=========================
package fileRW;
import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class fileW {
public static void main(String[] args) throws Exception {
ServerSocket ss = new ServerSocket(7777);//포트번호 7777로 객체를 생성함
Socket s = ss.accept(); // 누가 접속을 하면 이 라인이 넘어감
DataOutputStream dos = new DataOutputStream(s.getOutputStream());
//데이터 보내기
FileInputStream fis = new FileInputStream(
"D:/인사.hwp");
System.out.println(fis.available()+"&");
//파일읽어서 보내기
byte[] buffer=new byte[8*1024]; //바이트 배열 생성
// byte[] buffer2=new byte[fis.available()];
System.out.println("전송시작");
//buffer2=(fis.available()+"").getBytes();
// System.out.println("버퍼2:"+buffer2);
OutputStream os = s.getOutputStream();//소켓에 쓸 아웃풋스트림을가져옴
BufferedOutputStream tt = new BufferedOutputStream(os);//보조스트림으로 속도향상
tt.write(fis.available());// 입력한거를 바이트배열로 출력함
tt.flush();//바이트가 안찼지만 강제로 보냄 , 만약 바이트가 꽉 차면 오토플러쉬로자동으로 날라감
while(true){
int len=fis.read(buffer, 0, 8*1024);
if(len==-1){
System.out.println("파일 전송 완료");
break;
}
dos.write(buffer, 0, len);
dos.flush();
}
}
}
'개발하자 > JAVA고급' 카테고리의 다른 글
생산자 소비자 패턴(서로가 서로를 깨우는) (0) | 2015.04.02 |
---|---|
Thread,InterruptedException,join(); (0) | 2015.03.31 |
웹사이트소스불러오기 (0) | 2015.02.18 |
java.util.regex.PatternSyntaxException (0) | 2015.02.10 |
파일전송 (0) | 2015.02.10 |