⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 trackersutil.java

📁 java 文件下载器。可自定义
💻 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 + -