A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 马伟奇 黑马帝   /  2011-12-30 00:42  /  1740 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

public class TCPUploadClien1 {

        /**
         * @param args
         */
        public static void main(String[] args) throws Exception{
                // TODO Auto-generated method stub
        Socket s = new Socket("127.0.0.1",10006);
        OutputStream os = s.getOutputStream();
        FileInputStream fis = new FileInputStream("D:\\1.jpg");
        int length = 0;
        byte [] buffer = new byte[1024];
        while((length = fis.read(buffer))!=-1){
                os.write(buffer, 0, length);
        }
        s.shutdownOutput();
        InputStream ins= s.getInputStream();
        byte [] src = new byte[1024];
        int num = 0;
        while((num = ins.read(src))!=-1){
                System.out.println(new String(src,0,num));
        }
        s.close();
        }

}
==============================================================

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class TCPUploadServer1 {

        /**
         * @param args
         */
        public static void main(String[] args) throws Exception{
                // TODO Auto-generated method stub
                ServerSocket ss = new ServerSocket(10006);
                while(true){
                        Socket s = ss.accept();       
                        new Thread(new picThread(s)).start();
                }
               
               
               
        }

}
class picThread implements Runnable{
        private Socket s;
        public picThread(Socket s){
                this.s=s;
        }
        @Override
        public void run() {
                int count=1;
                // TODO Auto-generated method stub
                String ip = s.getInetAddress().getHostAddress();
                try {
                       
                        InputStream is = s.getInputStream();
                        File file = new File("f:\\"+ip+"("+(count)+")"+".jpg");//是这个file
                        while(file.exists())
                                 file = new File(ip+"("+(count++)+")"+".jpg");//而不是这个file,但是怎么打印aaa  
                        //这个file没有被反问道,怎么会这样呢
                        //while结束 file就死了  不是,要不这样
                        System.out.println(file);
                       
                        FileOutputStream os = new FileOutputStream("f:\\"+file);//你看
                        byte [] buffer = new byte[1024];
                        while(is.read(buffer)!=-1){
                                os.write(buffer, 0, buffer.length);
                        }
                        OutputStream ops = s.getOutputStream();
                        ops.write("上传成功".getBytes());
                        os.close();
                        s.close();
                } catch (Exception e) {
                        // TODO: handle exception
                }
               
               
        }
}
===============================================
127.0.0.1(1).jpg
127.0.0.1(1).jpg
127.0.0.1(1).jpg
输出结果总是1,我希望结果每次加1,请高手解决

1 个回复

倒序浏览
File file = new File("f:\\"+ip+"("+(count)+")"+".jpg");//是这个file
                        while(file.exists())
                                 file = new File("f:\\"+ip+"("+(count++)+")"+".jpg");//加入红色部分
                        //这个file没有被反问道,怎么会这样呢
                        //while结束 file就死了  不是,要不这样
                        System.out.println(file);
                        
                        FileOutputStream os = new FileOutputStream("f:\\"+file);//去掉红色部分

评分

参与人数 1技术分 +1 收起 理由
杨强 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马