黑马程序员技术交流社区
标题:
毕老师网络编程代码疑问?
[打印本页]
作者:
没有翅膀的小鸟
时间:
2014-7-25 19:50
标题:
毕老师网络编程代码疑问?
需求:模拟并发上传图片,e盘模拟成客户端,d盘模拟成服务器。设置上传的 条件,如请选择文件上传,文件格式不对,文件过大等等。
import java.io.*;
import java.net.*;
class Client
{
public static void main(String[] args) throws Exception
{
if(args.length!=1)
{
System.out.println("请选择上传的图片");
return;
}
File file=new File(args[0]);
if(!(file.exists()&&file.isFile()))
{
System.out.println("该文件有问题");
return;
}
if(!file.getName().endsWith(".jpg"))
{
System.out.println("图片文件格式应该为jpg");
return;
}
if(file.length()>1024*1024*5)
{
System.out.println("图片文件过大");
return;
}
Socket s=new Socket("localhost",10006);
FileInputStream fis=new FileInputStream(file);
OutputStream out=s.getOutputStream();
byte[] buf=new byte[1024*1024];
int byt=0;
while((byt=fis.read(buf))!=-1)
{
out.write(buf,0,byt);
out.flush();
}
//告诉服务器传输完毕,不要再等待了
s.shutdownOutput();
BufferedReader bufr=new BufferedReader(new InputStreamReader(s.getInputStream()));
String line=bufr.readLine();
System.out.println(line);
fis.close();
s.close();
}
}
class Service
{
public static void main(String[] args) throws Exception
{
ServerSocket ss=new ServerSocket(10006);
//让服务器一直开启接受客户端
while(true)
{
//为每一个来访问的客户端单独开一个线程
//服务器要实现的代码单独封装在一个类中并实现Runnable接口
Socket s=ss.accept();
new Thread(new ServerThread(s)).start();
}
}
}
class ServerThread implements Runnable
{
private Socket s;
ServerThread(Socket s)
{
this.s=s;
}
public void run()
{
try
{
InputStream in=s.getInputStream();
String ip=s.getInetAddress().getHostAddress();
System.out.println(ip+"用户连接上了服务器");
//设置一个计数器,对重复的文件进行编号以免覆盖
int count=1;
File file=new File("d:\\photo\\"+ip+"("+count+")"+".jpg");
while(file.exists()&&file.isFile())
file=new File("d:\\photo\\"+ip+"("+(count++)+")"+".jpg");
FileOutputStream out=new FileOutputStream(file);
byte[] buf=new byte[1024*1024];
int byt=0;
while((byt=in.read(buf))!=-1)
{
out.write(buf,0,byt);
}
PrintWriter pw=new PrintWriter(s.getOutputStream(),true);
pw.println("上传成功");
out.close();
s.close();
}
catch (Exception e)
{
throw new RuntimeException("上传失败");
}
}
}
复制代码
if判断语句中的return的作用是什么啊?大神解释下
作者:
孤守星空
时间:
2014-7-25 19:51
好像只是不要处理而已吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2