黑马程序员技术交流社区
标题:
Tcp问题
[打印本页]
作者:
chen20134
时间:
2014-4-7 11:46
标题:
Tcp问题
本帖最后由 chen20134 于 2014-4-7 16:41 编辑
class TcpServer implements Runnable
{
public void run(){
ServerSocket ss=new ServerSocket(10005);
Socket s=ss.accept();
System.out.println(s.getLocalAddress()+"已连接");
InputStream in = s.getInputStream();
FileOutputStream fos = new FileOutputStream("server.txt");
byte[] buf = new byte[1024];
int len = 0;
while((len=in.read(buf))!=-1)
{
fos.write(buf,0,len);
}
OutputStream out=s.getOutputStream(); //这句话报错
out.write("上传成功".getBytes());
fos.close();
s.close();
ss.close();
}
}
复制代码
为什么
OutputStream out=s.getOutputStream(); 这句话报错:
类型不匹配
作者:
caijunsong
时间:
2014-4-7 12:17
import java.io.*;
import java.net.*;
class TcpServer implements Runnable
{
public void init()throws Exception
{
ServerSocket ss=new ServerSocket(10005);
Socket s=ss.accept();
System.out.println(s.getLocalAddress()+"已连接");
InputStream in = s.getInputStream();
FileOutputStream fos = new FileOutputStream("server.txt");
byte[] buf = new byte[1024];
int len = 0;
while((len=in.read(buf))!=-1)
{
fos.write(buf,0,len);
}
OutputStream out=s.getOutputStream(); //这句话报错
out.write("上传成功".getBytes());
fos.close();
s.close();
ss.close();
}
public void run(){
try
{
init();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
//兄弟!!只要涉及到io或net 都是要处理它们抛出的异常的啊 反正你以处理异常的方法再查查API你就知道了
//你里面用到了很多的流 都没有出来任何一个 它只显示一个 你稍微改动 就是一大片错误 我直接给你加了个init()用于执行
//run的代码 然后直接把异常抛给了 调用者run 然后在run集中处理异常 我太懒了 不想一个个弄! 但是你应该能看懂
复制代码
作者:
为你而去
时间:
2014-4-7 19:40
因为你没有处理异常,抛异常或者Try Catch,但本例中你是覆盖run方法,父类run方法没有抛出异常,子类肯定也不能抛,所以你要在run方法中处理各异常,或者同一楼的的另起一个方法,抛出异常即可
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2