public ED2KFileLink(String fileLink) throws ED2KLinkMalformedException {
if (!isValidLink(fileLink))
throw new ED2KLinkMalformedException("This ED2K link is not valid " + fileLink);
Pattern s;
Matcher m;
s = Pattern.compile(ED2K_LINK_PATTERN, Pattern.CASE_INSENSITIVE);
m = s.matcher(fileLink);
if (m.matches()) {
this.fileName=m.group(1);
this.fileSize=Long.valueOf(m.group(2)).longValue();
this.fileHash = new FileHash(m.group(3));
this.partHashSet = extractPartHashes(fileHash,m.group(4));