黑马程序员技术交流社区
标题:
高手来看一下啊!
[打印本页]
作者:
湛添友
时间:
2014-4-27 11:58
标题:
高手来看一下啊!
//为什么 随便打开 下面一个 flush() 程序就停下了??
package net;
/*
* 使用 Tcp传输协议 上传图片
*/
import java.io.*;
import java.net.*;
public class PicturesDemo
{
public static void main(String args[]) throws IOException, IOException
{
Socket s=new Socket("192.168.1.8",4456);
InputStream in=s.getInputStream();
OutputStream out=s.getOutputStream();
BufferedInputStream bis=new BufferedInputStream(in);
BufferedOutputStream bos=new BufferedOutputStream(out);
BufferedInputStream bisFile=new BufferedInputStream(new FileInputStream("D:\\abc\\1.JPG"));
int l=0;
while((l=bisFile.read())!=-1)
{
bos.write(l);
// bos.flush();
}
s.shutdownOutput();
byte[]buf2=new byte[1024];
int len2=in.read(buf2);
System.out.println(new String(buf2,0,len2));
bisFile.close();
s.close();
}
}
class Server4
{
public static void main(String args[]) throws Exception
{
ServerSocket ss=new ServerSocket(4456);
Socket s=ss.accept();
String ip=s.getInetAddress().getHostAddress();
System.out.println(ip+"connecet");
InputStream in=s.getInputStream();
OutputStream out=s.getOutputStream();
BufferedInputStream bis=new BufferedInputStream(in);
BufferedOutputStream bos=new BufferedOutputStream(out);
BufferedOutputStream bosFile=new BufferedOutputStream(new FileOutputStream("D:\\a.jpg"));
int l=0;
while((l=bis.read())!=-1)
{
bosFile.write(l);
// bosFile.flush();
}
out.write("图片已经上传".getBytes());
bosFile.close();
s.close();
ss.close();
}
}
作者:
小周务商
时间:
2014-4-27 12:36
大哥,加点注释嘛 。我们这些新手也可以学学啊。
作者:
展展
时间:
2014-4-27 21:17
我有一个tcp上传图片的代码给你参考:
/*
tcp上传图片。
*/
import java.io.*;
import java.net.*;
/*
客户端:
1,建立端点。
2,读取客户端图片数据。
3,利用Socket方法getOutputStream将数据写入到输入流中,传给服务端。
3,接受读取服务端反馈信息。
4,关闭。
*/
class PicTest
{
public static void main(String[] args)throws Exception
{
Socket s=new Socket("113.16.82.67",10006);
PicClient cli=new PicClient(s);
ServerSocket ss=new ServerSocket(10006);
PicServer ser=new PicServer(ss);
new Thread(ser).start();
Thread.sleep(5000);
new Thread(cli).start();
}
}
class PicClient implements Runnable
{
private Socket s;
PicClient(Socket s)
{
this.s=s;
}
public void run()
{
try
{
FileInputStream fis=new FileInputStream("c:\\1.jpg");
OutputStream out=s.getOutputStream();
byte[] buf=new byte[1024];
int len=0;
while ((len=fis.read(buf))!=-1)
{
out.write(buf,0,len);
}
s.shutdownOutput();
InputStream in=s.getInputStream();
byte[] bufinfo=new byte[1024];
int leninfo=in.read(bufinfo);
System.out.println(new String(bufinfo,0,leninfo));
fis.close();
s.close();
}
catch (Exception ex)
{
}
}
}
class PicServer implements Runnable
{
private ServerSocket ss;
PicServer(ServerSocket ss)
{
this.ss=ss;
}
public void run()
{
try
{
Socket s=ss.accept();
InputStream in=s.getInputStream();
FileOutputStream out=new FileOutputStream("c:\\jay.jpg");
byte[]buf=new byte[1024];
int len=0;
while ((len=in.read(buf))!=-1)
{
out.write(buf,0,len);
}
OutputStream outinfo=s.getOutputStream();
outinfo.write("上传成功!".getBytes());
out.close();
s.close();
ss.close();
}
catch (Exception ex)
{
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2