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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 周兴华 中级黑马   /  2012-9-3 20:10  /  1920 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 周兴华 于 2012-9-3 21:57 编辑

下面的代码是客户端上传图片的代码,对于main方法的String[] args参数不是很明白,懂的同学指导下我吧。

import java.io.*;
import java.net.*;
class  PicClient
{
public static void main(String[] args)throws Exception
{
  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 ;
  }
  if(file.length()>1024*1024*5)
  {
   System.out.println("文件过大,没安好心");
   return ;
  }
  

  Socket s = new Socket("192.168.1.254",10007);
  FileInputStream fis = new FileInputStream(file);
  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[] bufIn = new byte[1024];
  int num = in.read(bufIn);
  System.out.println(new String(bufIn,0,num));
  fis.close();
  s.close();
}
}

评分

参与人数 1技术分 +1 收起 理由
田建 + 1

查看全部评分

4 个回复

倒序浏览
本帖最后由 孙沛 于 2012-9-3 20:18 编辑

public static void main(String[] args) 中的String[] args 这个字符串数组是保存运行main函数时输入的参数的,例如你这个main函数所在的类名为PicClient   那么你在cmd运行   java   test   a   b    c   时,args[0]   =   a   ,args[1]=b,   args[2]=c     你就可以在你的程序中调用你输入的这些变量了。

File file = new File(args[0]); args[0]:这个参数是你电脑的某个文件或者文件夹的路径的字符串,意思是得到这个文件或者文件夹对象。

评分

参与人数 1技术分 +1 收起 理由
田建 + 1 赞一个!

查看全部评分

回复 使用道具 举报
String[] args显然是一个字符数组,可以用System.out.println(args)打印一下看看
回复 使用道具 举报
String[] args 这个字符串数组中的参数除了在命令提示符窗口输入,在eclipse中也能输入,这个张老师视频有讲过
File file = new File(args[0]); args[0]:就是调用你给String[] args 传的第一个参数,也就是你将文件的路径传给String[] args ,然后再调用出来
回复 使用道具 举报
孙沛 发表于 2012-9-3 20:16
public static void main(String[] args) 中的String[] args 这个字符串数组是保存运行main函数时输入的参 ...

谢谢,明白了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马