이름하는건 했는데요..근데 파일크기 비교하는 부분에서요 크기가 파일 저장되있는 글자수로 나와요
글구요.. 주석처리한부분이 어떤게 잘못된건지 모르겠어요 그부분안됨..ㅠㅠ
import java.net.*;
import java.io.*;
public class Client {
public static void main(String[] args) {
File cfl = null;
try{
Socket sock =new Socket("127.0.0.1",10001);
cfl = new File("C:\\Documents and Settings\\mina\\workspace\\Echo\\src\\abcd.txt");
BufferedReader fin =new BufferedReader(new FileReader(cfl));
//BufferedReader bin =new BufferedReader(new InputStreamReader(sock.getInputStream()));
BufferedWriter bout = new BufferedWriter(new OutputStreamWriter(sock.getOutputStream()));
System.out.println("[Client]:파일명[" + cfl.getName() + "]보내기" );
DataInputStream bin = new DataInputStream(sock.getInputStream());
int len =0;
char[] buf = new char[512];
bout.write((int) cfl.length());//파일크기를 제일 먼저 보냄..
while((len =fin.read(buf))!= -1){
bout.write(buf,0,len);
bout.flush();
}
System.out.println("[Client]:파일보내기완료 !!");
/*같은 파일인지 확인하는 부분..서버에서 파일크기같으면 1을 보내서 잘보냈다고 전달해줌 아님 2전달..
int c =0;
if(bin != null){
c = bin.readInt();
if(c == 1){
System.out.println("SUCCESS!!");}
else{
System.out.println("Fail");}
}
*/
System.out.println("[Client]: [파일size] : "+ cfl.length());
//위 파일크기가 글자수가 나옴..ㅠㅠ이상함..
fin.close();
bin.close();
bout.close();
sock.close();
}catch(Exception e){
System.out.println(e);
}
}
}
No comments:
Post a Comment