简单的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之间是一样的,包装类中提供了关于基本数据类型的一些处理方法!