Lambda表达式和FastDfs文件上传

1.Lambda表达式

steam():把一个源数据,可以是集合,数组,I/O channel, 产生器generator 等,转化成流。

  • 遍历集合
        /**
         * 遍历list集合
         */
        students.forEach(System.out::println);

  • 筛选过滤
        /**
         * 筛选过滤集合
         * Lambda的类型是从使用Lambda的上下文推断出来的
         * collect将流对象转换成集合
         */
        List<Student> collectList= students.stream().filter(ls -> ls.getAge() > 15).collect(Collectors.toList());

  • 集合转换
        /**
         * map():作用是返回一个对当前所有元素执行执行mapper之后的结果组成的Stream
         * 用于映射每个元素到对应的结果
         */
        List<String> collectMap = students.stream().map(ls -> ls.getAddress()).collect(Collectors.toList());

  • 集合去重
        /**
         * 集合去重
         * Arrays.asList:数组转化成list
         */
        List<String> list = Arrays.asList("111","222","333","111","222");
        list.stream().distinct().forEach(System.out::println);
		
		执行结果:111,222,333

  • 集合排序1
        /**
         * 集合按默认排序
         */
        list.stream().sorted().forEach(System.out::println);
		执行结果:111222333,默认升序

  • 集合排序2
        /**
         * 按指定顺序
         * 在Stream里,重载了sorted方法
         */
        students.stream().sorted((stu1,stu2)->Long.compare(stu2.getId(),stu1.getId()))
        .sorted((stu1,stu2)->Long.compare(stu2.getAge(),stu1.getAge()))
        .forEach(System.out::println);

  • 集合聚合
	/**
	 * 集合reduce,将集合中每个元素聚合成一条数据
	 */
    List<String> lists = Arrays.asList("欢","迎","你");

    String appendStr = lists.stream().reduce("北京",(a,b) -> a+b);

2.FastDfs搭建与测试

关于搭建过程我是完全参考这篇文章完成的,亲测可用!
FastDfs搭建
小白在搭建过程中需要注意的两个点:

  1. Centos修改host时,要在host文件的结尾加上IP+自定义的名字,如果您购买的是云服务器的话,这里的IP一定要写成服务器公网IP
  2. 在文件上传测试时,命令格式是:
    /usr/bin/fdfs_upload_file +
    /etc/fdfs/client.conf + 服务器中文件的路径。
    在执行centos命令时,”+” 请改成空格,为做更清晰的演示所以使用的+
 /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /data/fastdfs/client/99.png

简单一点,如果您在测试上传的时候可直接复制我上边的命令,仅修改您服务器中文件的路径即可,
(/data/fastdfs/client/99.png)

测试完成会返回url:

正文完