📄 trackersutil.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
// Source File Name: TrackersUtil.java
package org.gudy.azureus2.core3.util;
import java.io.*;
import java.util.*;
// Referenced classes of package org.gudy.azureus2.core3.util:
// AEMonitor, BDecoder, BEncoder, Debug,
// FileUtil
public class TrackersUtil
{
private List trackers;
private Map multiTrackers;
private Map webseeds;
private static TrackersUtil instance;
private static AEMonitor class_mon = new AEMonitor("TrackersUtil:class");
private TrackersUtil()
{
trackers = new ArrayList();
multiTrackers = new HashMap();
webseeds = new HashMap();
loadList();
}
public static TrackersUtil getInstance()
{
TrackersUtil trackersutil;
class_mon.enter();
if (instance == null)
instance = new TrackersUtil();
trackersutil = instance;
class_mon.exit();
return trackersutil;
Exception exception;
exception;
class_mon.exit();
throw exception;
}
public List getTrackersList()
{
if (trackers != null)
return new ArrayList(trackers);
else
return null;
}
public void addTracker(String trackerAnnounceUrl)
{
if (trackers.contains(trackerAnnounceUrl))
{
return;
} else
{
trackers.add(0, trackerAnnounceUrl);
saveList();
return;
}
}
public void addMultiTracker(String configName, List groups)
{
multiTrackers.put(configName, groups);
saveList();
}
public void removeMultiTracker(String configName)
{
multiTrackers.remove(configName);
saveList();
}
public Map getMultiTrackers()
{
return new HashMap(multiTrackers);
}
public void addWebSeed(String configName, Map ws)
{
webseeds.put(configName, ws);
saveList();
}
public void removeWebSeed(String configName)
{
webseeds.remove(configName);
saveList();
}
public Map getWebSeeds()
{
return new HashMap(webseeds);
}
public void clearAllTrackers(boolean save)
{
trackers = new ArrayList();
multiTrackers = new HashMap();
webseeds = new HashMap();
if (save)
saveList();
}
private void loadList()
{
File fTrackers;
FileInputStream fin;
BufferedInputStream bin;
fTrackers = FileUtil.getUserFile("trackers.config");
if (!fTrackers.exists() || !fTrackers.isFile())
break MISSING_BLOCK_LABEL_483;
fin = null;
bin = null;
fin = new FileInputStream(fTrackers);
bin = new BufferedInputStream(fin, 8192);
Map map = BDecoder.decode(bin);
List list = (List)map.get("trackers");
if (list != null)
{
String tracker;
for (Iterator iter = list.iterator(); iter.hasNext(); trackers.add(tracker))
tracker = new String((byte[])(byte[])iter.next());
}
Map mapMT = (Map)map.get("multi-trackers");
if (mapMT != null)
{
String configName;
List resGroups;
for (Iterator iter = mapMT.keySet().iterator(); iter.hasNext(); multiTrackers.put(configName, resGroups))
{
configName = (String)iter.next();
List groups = (List)mapMT.get(configName);
resGroups = new ArrayList(groups.size());
List resTrackers;
for (Iterator iterGroups = groups.iterator(); iterGroups.hasNext(); resGroups.add(resTrackers))
{
List theseTrackers = (List)iterGroups.next();
resTrackers = new ArrayList(theseTrackers.size());
String tracker;
for (Iterator iterTrackers = theseTrackers.iterator(); iterTrackers.hasNext(); resTrackers.add(tracker))
tracker = new String((byte[])(byte[])iterTrackers.next());
}
}
}
webseeds = (Map)map.get("webseeds");
if (webseeds == null)
webseeds = new HashMap();
else
BDecoder.decodeStrings(webseeds);
Throwable e;
if (bin != null)
try
{
bin.close();
}
// Misplaced declaration of an exception variable
catch (Throwable e) { }
if (fin != null)
try
{
fin.close();
}
// Misplaced declaration of an exception variable
catch (Throwable e) { }
break MISSING_BLOCK_LABEL_483;
e;
Debug.printStackTrace(e);
if (bin != null)
try
{
bin.close();
}
// Misplaced declaration of an exception variable
catch (Throwable e) { }
if (fin != null)
try
{
fin.close();
}
// Misplaced declaration of an exception variable
catch (Throwable e) { }
break MISSING_BLOCK_LABEL_483;
Exception exception;
exception;
if (bin != null)
try
{
bin.close();
}
catch (Throwable e) { }
if (fin != null)
try
{
fin.close();
}
catch (Throwable e) { }
throw exception;
}
private void saveList()
{
Map map;
FileOutputStream fos;
map = new HashMap();
map.put("trackers", trackers);
map.put("multi-trackers", multiTrackers);
map.put("webseeds", webseeds);
fos = null;
File fTrackers = FileUtil.getUserFile("trackers.config");
fos = new FileOutputStream(fTrackers);
fos.write(BEncoder.encode(map));
fos.close();
Exception e;
if (fos != null)
try
{
fos.close();
}
// Misplaced declaration of an exception variable
catch (Exception e) { }
break MISSING_BLOCK_LABEL_129;
e;
Debug.printStackTrace(e);
if (fos != null)
try
{
fos.close();
}
// Misplaced declaration of an exception variable
catch (Exception e) { }
break MISSING_BLOCK_LABEL_129;
Exception exception;
exception;
if (fos != null)
try
{
fos.close();
}
catch (Throwable e) { }
throw exception;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -