- class PictClient {
- 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", 10001);
- 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();
- }
- }
复制代码 这是老师写的用于多用户上传图片的客户端。
我的疑问是
File file = new File(args[0]); 为什么可以用主函数的数组做文件?
if(args.length!=1){ System.out.println("请选择一个jpg格式的图片"); return;
}
这个判断是什么意思?为什么长度不等于1的时候就return?
希望懂的同学可以帮我解决,不胜感激!
|