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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 莫运飞 中级黑马   /  2012-4-24 15:03  /  2072 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

class manffile2 {

        public static void main(String[] args)throws Exception
        {
                               
                ServerSocket serverstock=new ServerSocket(10009);
               
                while(true){
                Socket server=serverstock.accept();
               
                new Thread( new PicThread(server)).start();
               
               
        }
        }
}


class PicThread implements Runnable
{
       
        private Socket server;
          PicThread(Socket server)
         {
                this.server=server;
        }
       
        public void run(){
               
               
                try
                {
                        InputStream inputstream=server.getInputStream();
                       
                        FileOutputStream fileoutputstream=new FileOutputStream("2.txt");
                        int ch=0;
                        byte[] byt=new byte[1024];
                       
                        while((ch= inputstream.read(byt))!=-1){
                               
                                fileoutputstream.write(byt,0,ch);
                               
                        }
                       
                        OutputStream outputstream=server.getOutputStream();
                       
                        byte[] byt2=new byte[1024];
                       
                       
                        outputstream.write("上传成功".getBytes());
                       
                        server.close();
                       
                }
                catch(Exception E){
                       
                }
               
        }
       
       
}

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


import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.util.Stack;

class ManyFile {

       
        public static void main(String[] args) throws Exception
        {
               
                Socket stock=new Socket("192.168.1.2",10009);
               
                FileInputStream inputstream=new FileInputStream("1.txt");
               
                OutputStream outputstream=stock.getOutputStream();
               
                int ch=0;
                byte[] byt=new byte[1024];
               
                while((ch=inputstream.read(byt))!=-1){
                       
                        outputstream.write(byt,0,ch);
                       
                }
               
                stock.shutdownOutput();
               
                InputStream intputstream=stock.getInputStream();
               
                byte[] byt2=new byte[1024*1024];
               
                int num=inputstream.read(byt2);
                System.out.println(new String(byt2,0,num));
                stock.close();
               
               
        }

}
程序不知道哪里有问题报错:Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
        at java.lang.String.checkBounds(String.java:398)
        at java.lang.String.<init>(String.java:570)
        at manyfile.ManyFile.main(ManyFile.java:37)

1 个回复

倒序浏览
InputStream intputstream=stock.getInputStream(); //这里定义的是:intputstream
                byte[] byt2=new byte[1024*1024];
                  int num=inputstream.read(byt2); // 这里,应该是intputstream.read(byt2);少写了单词t

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

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