public static String packAttributes(EnumSet<FileAttribute> attributes) {
    StringBuilder buffer = new StringBuilder(FileAttribute.values().length);
    int len = 0;
    for (FileAttribute attribute : attributes) {
      buffer.append(attribute.name().charAt(0));
      len++;
    }
    return buffer.substring(0, len);
  }
@Test
  public void testPackAttributes() {
    EnumSet<FileAttribute> attributes = EnumSet.noneOf(FileAttribute.class);
    assertThat(DistCpUtils.packAttributes(attributes)).isEqualTo("");

    attributes.add(FileAttribute.REPLICATION);
    assertThat(DistCpUtils.packAttributes(attributes)).isEqualTo("R");

    attributes.add(FileAttribute.BLOCKSIZE);
    assertThat(DistCpUtils.packAttributes(attributes)).isEqualTo("RB");

    attributes.add(FileAttribute.USER);
    attributes.add(FileAttribute.CHECKSUMTYPE);
    assertThat(DistCpUtils.packAttributes(attributes)).isEqualTo("RBUC");

    attributes.add(FileAttribute.GROUP);
    assertThat(DistCpUtils.packAttributes(attributes)).isEqualTo("RBUGC");

    attributes.add(FileAttribute.PERMISSION);
    assertThat(DistCpUtils.packAttributes(attributes)).isEqualTo("RBUGPC");

    attributes.add(FileAttribute.TIMES);
    assertThat(DistCpUtils.packAttributes(attributes)).isEqualTo("RBUGPCT");
  }