Tcpベースでファイルをアップロード


import java.io.*;
import java.net.*;
import java.lang.*;

public class PicLoadTestCZ{}

/*
	          。。

*/

class Client{
	public static void main(String []args)throws Exception{
		
		while(args.length>1){
			System.out.println("     。。");
			return ;
		}
		String filename=args[0];

		File file=new File(filename);

		while(!file.exists()){
			System.out.println("     。。");
			return ;
		}
		while(file.length()>(1024*1024*3)){
			System.out.println("    。。");
			return;
		}
		while(!file.getName().endsWith(".gif")){
			System.out.println("      ,。。。");
			return;
		}
		Socket s=new Socket("127.0.0.1",10009);

		OutputStream out=s.getOutputStream();
		FileInputStream filein=new FileInputStream(file);//       

		byte buf[]=new byte[1024];
		int len=0;
		while((len=filein.read(buf))!=-1){
		
			out.write(buf,0,len);
			//System.out.println("     ");
		}
		s.shutdownOutput();

		InputStream in=s.getInputStream();
		byte []buts=new byte[1024];
		int len1=0;
		len=in.read(buf);
		String str=new String(buf,0,len);
		System.out.println(str);
		
		filein.close();
	}

}

class PicLoad implements Runnable{
	
	private Socket s;
	public PicLoad(Socket s){
		this.s=s;
	}

	public void run(){
		try{
			InputStream in=s.getInputStream();

			FileOutputStream fileout=null;
				
			String ip=s.getInetAddress().getHostAddress();
			
			File file=new File("e:\\"+ip+".bmp");
			int count=1;
			while(file.exists())
					file=new File("e:\\"+ip+"("+(count++)+").bmp");
	
			
				fileout=new FileOutputStream(file);
			byte buf[]=new byte[1024];

			int len=0;

			
			while((len=in.read(buf))!=-1){
				
				fileout.write(buf,0,len);
			}
			OutputStream out=s.getOutputStream();
			out.write("    。。。".getBytes());
			out.close();
			fileout.close();
		}catch(Exception e){
			e.toString();
		}
		
	}

}
class Server{
	public static void main(String []args)throws Exception{
		ServerSocket ss=new ServerSocket(10009);
	while(true){
		Socket s=ss.accept();
		new Thread(new PicLoad(s)).start();
	}

	}
}

ファイルアップロードの原理もそうです...クライアントからサーバにアップロードします...