package org.limewire.core.impl.search.torrentweb; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.nio.channels.FileChannel; import java.util.Map; import org.limewire.bittorrent.BTData; import org.limewire.bittorrent.BTDataImpl; import org.limewire.bittorrent.bencoding.Token; import org.limewire.io.IOUtils; public class TorrentWebSearchUtils { /** * @return null if there was an error parsing */ public static BTData parseTorrentFile(File torrentFile) { FileInputStream fis = null; FileChannel fileChannel = null; try { fis = new FileInputStream(torrentFile); fileChannel = fis.getChannel(); Object obj = Token.parse(fileChannel); if (obj instanceof Map) { BTDataImpl torrentData = new BTDataImpl((Map)obj); torrentData.clearPieces(); return torrentData; } } catch (IOException ie) { // TODO log } finally { IOUtils.close(fis); IOUtils.close(fileChannel); } return null; } }