我从我的代码中copy出来的,可能某些变量没有定义或者其他的问题,不过大致就这样子了。
public void acceptFile (BufferedOutputStream bos,Socket sk)
{
//线程运行实体
BufferedReader in = null;
DataInputStream ins = null;
try{
InputStreamReader isr;
isr = new InputStreamReader (sk.getInputStream ());
in = new BufferedReader (isr);
ins = new DataInputStream(new BufferedInputStream(sk.getInputStream()));
byte[] buf= new byte[65536];
indata=0;
}catch (IOException e)
{
System.out.println (e.toString ()+"传输出现异常");
}
finally
{
try{
if (in != null)
in.close ();
if (sk != null)
sk.close ();
}catch (IOException e)
{
System.out.println("流设备关闭错误!");
}
}
}
}
public void fileSend ()
{
try{
//使用port端口
sk = new Socket ();
InetSocketAddress ia = new InetSocketAddress(addr,port);
sk.connect(ia,2000);
InputStreamReader isr;
isr = new InputStreamReader (sk.getInputStream ());
in = new BufferedReader (isr);
//建立输出
out = new PrintWriter (
new BufferedWriter(
new OutputStreamWriter(
sk.getOutputStream ())), true);
outs = new DataOutputStream(new BufferedOutputStream(sk.getOutputStream()));
File file = new File(filename);
long flength = file.length();
FileInputStream fis = new FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(fis);
byte[] buf = new byte[65536];
outdata=0;
n = fis.available();
inti=System.currentTimeMillis();
outdata=bis.read(buf);