日期:2014-05-20  浏览次数:20706 次

简单的Java程序帮忙找一下错误吧
package tcpchat;//这是一个简单的tcp协议的服务程序
import java.net.*;
import java.io.*;
public class Main {

  public static void main(String[] args) {
  try
  { ServerSocket ss=new ServerSocket(8001);
  Socket s=ss.accept();
  InputStream ips=s.getInputStream();
  OutputStream ops=s.getOutputStream();
  ops.write("hello".getBytes());
  Byte[] buf =new Byte[1024];
  int len=ips.read(buf); //这里总提出错示找不到read方法,可是编写提示中明明有read方法啊  
  ips.close();
  ops.close();
  s.close();
  ss.close();
  }catch(Exception e){e.printStackTrace();}
  }

}

------解决方案--------------------
因为InputStream里的是
public int read(byte b[])
你把
Byte[] buf =new Byte[1024];
改成
byte[] buf = new byte[1024];
------解决方案--------------------
楼主啊。。。麻烦你把Byte改成byte哦。。。

大写和小写是有区别的噢。。。
------解决方案--------------------
参数写错,应该是byte[] b;不是Byte[] b.
------解决方案--------------------
你说的是这个方法:read(byte[] b)
这个方法的参数类型是byte[],而不是Byte[]
改成这样:byte[] buf =new byte[1024];
------解决方案--------------------
read()方法参数错误
是用记事本编写的吧, 如果是利用ide工具编写代码的话 应该有提示错误。
api中的具体方法read()、read(byte[] b)、read(byte[] b,int off,int len)。
Byte是基本数据类型byte的包装类,跟int和Integer之间是一样的,包装类中提供了关于基本数据类型的一些处理方法!