A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 樊其杰 于 2013-5-13 08:22 编辑
  1. import java.io.*;
  2. import java.net.*;

  3. public class TcpClientDemo2 {

  4.         public static void main(String[] args)throws IOException {
  5.                 if(args.length!=1){
  6.                         System.out.println("请选择一个JPG格式的文件");
  7.                         return;
  8.                 }
  9.                 File file=new File(args[0]);
  10.                 if(!(file.exists()&&file.isFile())){
  11.                         System.out.println("图片有问题,要么不存在,要么");
  12.                         return;
  13.                 }
  14.                 if(!(file.getName().endsWith(".jpg"))){
  15.                         System.out.println("图片格式有问题");
  16.                         return;
  17.                 }        
  18.                
  19.                 // 创建Socket客户端并指定目标主机和端口
  20.                 Socket s=new Socket("192.168.1.224",9008);
  21.                 //获取Socket流中的输出流
  22.                 OutputStream out=s.getOutputStream();
  23.                 //读取图片
  24.                 FileInputStream fis=new FileInputStream(file);
  25.                 byte [] buf=new byte[1024];
  26.                 int len=0;
  27.                 while((len=fis.read(buf))!=-1){
  28.                         out.write(buf,0,len);
  29.                 }
  30.                 //告诉服务器端已写完
  31.                 s.shutdownOutput();
  32.                 //接收服务器端反馈信息
  33.                 InputStream in=s.getInputStream();
  34.                 byte [] bufIn=new byte[1024];
  35.                 int lenIn=in.read(bufIn);
  36.                 String str=new String(bufIn, 0, lenIn);
  37.                 System.out.println(str);        
  38.         }

  39. }
复制代码
上面代码中args.length不是很明白,还有在方法中return是返回一个参数,在这段代码中return是什么意思?

评分

参与人数 1技术分 +1 收起 理由
曹睿翔 + 1 恭喜满25

查看全部评分

4 个回复

倒序浏览
  if(args.length!=1){

                        System.out.println("请选择一个JPG格式的文件");

                        return;

                }

                File file=new File(args[0]);

                if(!(file.exists()&&file.isFile())){

                        System.out.println("图片有问题,要么不存在,要么");

                        return;

                }

                if(!(file.getName().endsWith(".jpg"))){

                        System.out.println("图片格式有问题");

                        return;

                }     
这些代码主要是用于在客户端检测文件是否匹配上传规则。
args.length应该是运行程序时传进来的一个参数数组的长度,也就是图片文件,而且只能是一个。如果args.length<1说明没有选择图片,如果args.length>1说明选择了多个文件。
return语句是在文件不存在、文件格式不正确的时候结束程序的。因为一旦检测到文件不合上传规范后面的代码就没必要执行了,需要返回重新选择。
希望能够帮到你!

评分

参与人数 1技术分 +1 收起 理由
曹睿翔 + 1 很给力!

查看全部评分

回复 使用道具 举报
王盟盟 发表于 2013-5-11 11:47
if(args.length!=1){

                        System.out.println("请选择一个JPG格式的文件");

非常感谢你的解答,说的很详细,我懂了
回复 使用道具 举报
樊其杰 发表于 2013-5-11 12:56
非常感谢你的解答,说的很详细,我懂了

不客气,互相学习。不过怎么没有技术分啊?
回复 使用道具 举报
及时更改问题状态,点编辑改为已解决
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马