import java.io.File;
import java.util.ArrayList;
import java.util.List;
class Attachement {
public Attachement
(String path
) { }
public String toJsonString
() { return " { \"path\": \"" + file.getAbsolutePath() + "\" }";
}
}
class AttachementHolder {
private final List<Attachement> attachements = new ArrayList<Attachement>();
public void addAttachement(Attachement attachement) {
attachements.add(attachement);
}
StringBuilder sb = new StringBuilder("{\n\"files\": [\n");
boolean addSeparator = false;
for (Attachement attachement : attachements) {
if (addSeparator) {
sb.append(",\n");
} else {
addSeparator = true;
}
sb.append(attachement.toJsonString());
}
sb.append("\n ]\n}");
return sb.toString();
}
}
public class Main {
public static void main
(String[] args
) { AttachementHolder holder = new AttachementHolder();
holder.addAttachement(new Attachement("/home/file1"));
holder.addAttachement(new Attachement("/home/file2"));
holder.addAttachement(new Attachement("/home/file3"));
System.
out.
println(holder.
toJSON()); }
}
aW1wb3J0IGphdmEuaW8uRmlsZTsKaW1wb3J0IGphdmEudXRpbC5BcnJheUxpc3Q7CmltcG9ydCBqYXZhLnV0aWwuTGlzdDsKCmNsYXNzIEF0dGFjaGVtZW50IHsKICAgIHByaXZhdGUgZmluYWwgRmlsZSBmaWxlOwogICAgcHVibGljIEF0dGFjaGVtZW50KFN0cmluZyBwYXRoKSB7CiAgICAgICAgZmlsZSA9IG5ldyBGaWxlKHBhdGgpOwogICAgfQogICAgcHVibGljIFN0cmluZyB0b0pzb25TdHJpbmcoKSB7CiAgICAgICAgcmV0dXJuICIgIHsgXCJwYXRoXCI6IFwiIiArIGZpbGUuZ2V0QWJzb2x1dGVQYXRoKCkgKyAiXCIgfSI7CiAgICB9Cn0KCmNsYXNzIEF0dGFjaGVtZW50SG9sZGVyIHsKICAgIHByaXZhdGUgZmluYWwgTGlzdDxBdHRhY2hlbWVudD4gYXR0YWNoZW1lbnRzID0gbmV3IEFycmF5TGlzdDxBdHRhY2hlbWVudD4oKTsKICAgIHB1YmxpYyB2b2lkIGFkZEF0dGFjaGVtZW50KEF0dGFjaGVtZW50IGF0dGFjaGVtZW50KSB7CiAgICAgICAgYXR0YWNoZW1lbnRzLmFkZChhdHRhY2hlbWVudCk7CiAgICB9CiAgICBwdWJsaWMgU3RyaW5nIHRvSlNPTigpIHsKICAgICAgICBTdHJpbmdCdWlsZGVyIHNiID0gbmV3IFN0cmluZ0J1aWxkZXIoIntcblwiZmlsZXNcIjogW1xuIik7CiAgICAgICAgYm9vbGVhbiBhZGRTZXBhcmF0b3IgPSBmYWxzZTsKICAgICAgICBmb3IgKEF0dGFjaGVtZW50IGF0dGFjaGVtZW50IDogYXR0YWNoZW1lbnRzKSB7CiAgICAgICAgICAgIGlmIChhZGRTZXBhcmF0b3IpIHsKICAgICAgICAgICAgICAgIHNiLmFwcGVuZCgiLFxuIik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBhZGRTZXBhcmF0b3IgPSB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHNiLmFwcGVuZChhdHRhY2hlbWVudC50b0pzb25TdHJpbmcoKSk7CiAgICAgICAgfQogICAgICAgIHNiLmFwcGVuZCgiXG4gXVxufSIpOwogICAgICAgIHJldHVybiBzYi50b1N0cmluZygpOwogICAgfQp9CgpwdWJsaWMgY2xhc3MgTWFpbiB7CgogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIEF0dGFjaGVtZW50SG9sZGVyIGhvbGRlciA9IG5ldyBBdHRhY2hlbWVudEhvbGRlcigpOwogICAgICAgIGhvbGRlci5hZGRBdHRhY2hlbWVudChuZXcgQXR0YWNoZW1lbnQoIi9ob21lL2ZpbGUxIikpOwogICAgICAgIGhvbGRlci5hZGRBdHRhY2hlbWVudChuZXcgQXR0YWNoZW1lbnQoIi9ob21lL2ZpbGUyIikpOwogICAgICAgIGhvbGRlci5hZGRBdHRhY2hlbWVudChuZXcgQXR0YWNoZW1lbnQoIi9ob21lL2ZpbGUzIikpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihob2xkZXIudG9KU09OKCkpOwogICAgfQp9