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

📄 displayformatters.java

📁 java 文件下载器。可自定义
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
				if (done == -1)
					done = 1000;
				tmp = (new StringBuilder()).append(ManagerItem_seeding).append(" + ").append(ManagerItem_checking).append(": ").append(formatPercentFromThousands(done)).toString();
			} else
			if (manager.getPeerManager() != null && manager.getPeerManager().isSuperSeedMode())
				tmp = ManagerItem_superseeding;
			else
				tmp = ManagerItem_seeding;
			break;

		case 70: // 'F'
			tmp = manager.isPaused() ? ManagerItem_paused : ManagerItem_stopped;
			break;

		case 100: // 'd'
			tmp = (new StringBuilder()).append(ManagerItem_error).append(": ").append(manager.getErrorDetails()).toString();
			break;

		case 0: // '\0'
			tmp = ManagerItem_waiting;
			break;

		case 5: // '\005'
			tmp = ManagerItem_initializing;
			break;

		case 10: // '\n'
			tmp = ManagerItem_initializing;
			break;

		case 20: // '\024'
			tmp = ManagerItem_allocating;
			break;

		case 30: // '\036'
			tmp = (new StringBuilder()).append(ManagerItem_checking).append(": ").append(formatPercentFromThousands(manager.getStats().getCompleted())).toString();
			break;

		case 55: // '7'
			tmp = ManagerItem_finishing;
			break;

		case 40: // '('
			tmp = ManagerItem_ready;
			break;

		case 65: // 'A'
			tmp = ManagerItem_stopping;
			break;

		default:
			tmp = String.valueOf(state);
			break;
		}
		if (manager.isForceStart() && (state == 60 || state == 50))
			tmp = (new StringBuilder()).append(ManagerItem_forced).append(" ").append(tmp).toString();
		return tmp;
	}

	public static String formatDownloadStatusDefaultLocale(DownloadManager manager)
	{
		int state = manager.getState();
		String tmp = "";
		DiskManager dm = manager.getDiskManager();
		switch (state)
		{
		case 0: // '\0'
			tmp = MessageText.getDefaultLocaleString("ManagerItem.waiting");
			break;

		case 5: // '\005'
			tmp = MessageText.getDefaultLocaleString("ManagerItem.initializing");
			break;

		case 10: // '\n'
			tmp = MessageText.getDefaultLocaleString("ManagerItem.initializing");
			break;

		case 20: // '\024'
			tmp = MessageText.getDefaultLocaleString("ManagerItem.allocating");
			break;

		case 30: // '\036'
			tmp = MessageText.getDefaultLocaleString("ManagerItem.checking");
			break;

		case 55: // '7'
			tmp = MessageText.getDefaultLocaleString("ManagerItem.finishing");
			break;

		case 40: // '('
			tmp = MessageText.getDefaultLocaleString("ManagerItem.ready");
			break;

		case 50: // '2'
			tmp = MessageText.getDefaultLocaleString("ManagerItem.downloading");
			break;

		case 60: // '<'
			if (dm != null && dm.getCompleteRecheckStatus() != -1)
			{
				int done = dm.getCompleteRecheckStatus();
				if (done == -1)
					done = 1000;
				tmp = (new StringBuilder()).append(MessageText.getDefaultLocaleString("ManagerItem.seeding")).append(" + ").append(MessageText.getDefaultLocaleString("ManagerItem.checking")).append(": ").append(formatPercentFromThousands(done)).toString();
				break;
			}
			if (manager.getPeerManager() != null && manager.getPeerManager().isSuperSeedMode())
				tmp = MessageText.getDefaultLocaleString("ManagerItem.superseeding");
			else
				tmp = MessageText.getDefaultLocaleString("ManagerItem.seeding");
			break;

		case 65: // 'A'
			tmp = MessageText.getDefaultLocaleString("ManagerItem.stopping");
			break;

		case 70: // 'F'
			tmp = MessageText.getDefaultLocaleString(manager.isPaused() ? "ManagerItem.paused" : "ManagerItem.stopped");
			break;

		case 75: // 'K'
			tmp = MessageText.getDefaultLocaleString("ManagerItem.queued");
			break;

		case 100: // 'd'
			tmp = MessageText.getDefaultLocaleString("ManagerItem.error").concat(": ").concat(manager.getErrorDetails());
			break;

		default:
			tmp = String.valueOf(state);
			break;
		}
		return tmp;
	}

	public static String trimDigits(String str, int num_digits)
	{
		char chars[] = str.toCharArray();
		String res = "";
		int digits = 0;
		for (int i = 0; i < chars.length; i++)
		{
			char c = chars[i];
			if (Character.isDigit(c))
			{
				if (++digits <= num_digits)
					res = (new StringBuilder()).append(res).append(c).toString();
				continue;
			}
			if (c != '.' || digits < 3)
				res = (new StringBuilder()).append(res).append(c).toString();
		}

		return res;
	}

	public static String formatPercentFromThousands(int thousands)
	{
		return percentage_format.format((double)thousands / 1000D);
	}

	public static String formatTimeStamp(long time)
	{
		StringBuffer sb = new StringBuffer();
		Calendar calendar = Calendar.getInstance();
		calendar.setTimeInMillis(time);
		sb.append('[');
		sb.append(formatIntToTwoDigits(calendar.get(5)));
		sb.append('.');
		sb.append(formatIntToTwoDigits(calendar.get(2) + 1));
		sb.append('.');
		sb.append(calendar.get(1));
		sb.append(' ');
		sb.append(formatIntToTwoDigits(calendar.get(11)));
		sb.append(':');
		sb.append(formatIntToTwoDigits(calendar.get(12)));
		sb.append(':');
		sb.append(formatIntToTwoDigits(calendar.get(13)));
		sb.append(']');
		return sb.toString();
	}

	public static String formatIntToTwoDigits(int n)
	{
		return n >= 10 ? String.valueOf(n) : "0".concat(String.valueOf(n));
	}

	private static String formatDate(long date, String format)
	{
		if (date == 0L)
		{
			return "";
		} else
		{
			SimpleDateFormat temp = new SimpleDateFormat(format);
			return temp.format(new Date(date));
		}
	}

	public static String formatDate(long date)
	{
		return formatDate(date, "dd-MMM-yyyy HH:mm:ss");
	}

	public static String formatDateShort(long date)
	{
		return formatDate(date, "MMM dd, HH:mm");
	}

	public static String formatDateNum(long date)
	{
		return formatDate(date, "yyyy-MM-dd HH:mm:ss");
	}

	public static String formatCustomDateOnly(long date)
	{
		if (date == 0L)
			return "";
		else
			return formatDate(date, "dd-MMM-yyyy");
	}

	public static String formatCustomTimeOnly(long date)
	{
		return formatCustomTimeOnly(date, true);
	}

	public static String formatCustomTimeOnly(long date, boolean with_secs)
	{
		if (date == 0L)
			return "";
		else
			return formatDate(date, with_secs ? "HH:mm:ss" : "HH:mm");
	}

	public static String formatCustomDateTime(long date)
	{
		if (date == 0L)
			return "";
		else
			return formatDate(date);
	}

	public static String formatTime(long time)
	{
		return TimeFormatter.formatColon(time / 1000L);
	}

	public static String formatDecimal(double value, int precision)
	{
		return formatDecimal(value, precision, false, true);
	}

	public static String formatDecimal(double value, int precision, boolean bTruncateZeros, boolean bRound)
	{
		if (Double.isNaN(value) || Double.isInfinite(value))
			return "∞";
		double tValue;
		if (bRound)
			tValue = value;
		else
		if (precision == 0)
		{
			tValue = (long)value;
		} else
		{
			double shift = Math.pow(10D, precision);
			tValue = (double)(long)(value * shift) / shift;
		}
		int cache_index = (precision << 2) + ((bTruncateZeros ? 1 : 0) << 1) + (bRound ? 1 : 0);
		NumberFormat nf = null;
		if (cache_index < cached_number_formats.length)
			nf = cached_number_formats[cache_index];
		if (nf == null)
		{
			nf = NumberFormat.getNumberInstance();
			nf.setGroupingUsed(false);
			if (!bTruncateZeros)
				nf.setMinimumFractionDigits(precision);
			if (bRound)
				nf.setMaximumFractionDigits(precision);
			if (cache_index < cached_number_formats.length)
				cached_number_formats[cache_index] = nf;
		}
		return nf.format(tValue);
	}

	public static String truncateString(String str, int width)
	{
		int excess = str.length() - width;
		if (excess <= 0)
			return str;
		excess += 3;
		int token_start = -1;
		int max_len = 0;
		int max_start = 0;
		for (int i = 0; i < str.length(); i++)
		{
			char c = str.charAt(i);
			if (Character.isLetterOrDigit(c) || c == '-' || c == '~')
			{
				if (token_start == -1)
				{
					token_start = i;
					continue;
				}
				int len = i - token_start;
				if (len > max_len)
				{
					max_len = len;
					max_start = token_start;
				}
			} else
			{
				token_start = -1;
			}
		}

		if (max_len >= excess)
		{
			int trim_point = max_start + max_len;
			return (new StringBuilder()).append(str.substring(0, trim_point - excess)).append("...").append(str.substring(trim_point)).toString();
		} else
		{
			return (new StringBuilder()).append(str.substring(0, width - 3)).append("...").toString();
		}
	}

	public static void main(String args[])
	{
		double d = 3.9916307748216347E-006D;
		NumberFormat nf = NumberFormat.getNumberInstance();
		nf.setMaximumFractionDigits(6);
		nf.setMinimumFractionDigits(6);
		String s = nf.format(d);
		System.out.println((new StringBuilder()).append("Actual: ").append(d).toString());
		System.out.println((new StringBuilder()).append("NF/6:   ").append(s).toString());
		System.out.println((new StringBuilder()).append("DF:     ").append(formatDecimal(d, 6)).toString());
		System.out.println((new StringBuilder()).append("DF 0:   ").append(formatDecimal(d, 0)).toString());
		System.out.println((new StringBuilder()).append("0.000000:").append(formatDecimal(0.0D, 6)).toString());
		System.out.println((new StringBuilder()).append("0.001:").append(formatDecimal(0.001D, 6, true, true)).toString());
		System.out.println((new StringBuilder()).append("0:").append(formatDecimal(0.0D, 0)).toString());
		System.out.println((new StringBuilder()).append("123456:").append(formatDecimal(123456D, 0)).toString());
		System.out.println((new StringBuilder()).append("123456:").append(formatDecimal(123456.999D, 0)).toString());
		System.out.println(formatDecimal((0.0D / 0.0D), 3));
	}

	public static char getDecimalSeparator()
	{
		return decimalSeparator;
	}

	static 
	{
		COConfigurationManager.addParameterListener("config.style.useSIUnits", new ParameterListener() {

			public void parameterChanged(String value)
			{
				DisplayFormatters.use_si_units = COConfigurationManager.getBooleanParameter("config.style.useSIUnits");
				DisplayFormatters.setUnits();
			}

		});
		COConfigurationManager.addParameterListener("config.style.useUnitsRateBits", new ParameterListener() {

			public void parameterChanged(String value)
			{
				DisplayFormatters.use_units_rate_bits = COConfigurationManager.getBooleanParameter("config.style.useUnitsRateBits");
				DisplayFormatters.setUnits();
			}

		});
		not_use_GB_TB = COConfigurationManager.getBooleanParameter("config.style.doNotUseGB");
		unitsStopAt = not_use_GB_TB ? 2 : 4;
		COConfigurationManager.addParameterListener("config.style.doNotUseGB", new ParameterListener() {

			public void parameterChanged(String value)
			{
				DisplayFormatters.not_use_GB_TB = COConfigurationManager.getBooleanParameter("config.style.doNotUseGB");
				DisplayFormatters.unitsStopAt = DisplayFormatters.not_use_GB_TB ? 2 : 4;
				DisplayFormatters.setUnits();
			}

		});
		COConfigurationManager.addListener(new COConfigurationListener() {

			public void configurationSaved()
			{
				DisplayFormatters.setUnits();
				DisplayFormatters.loadMessages();
			}

		});
		COConfigurationManager.addAndFireParameterListeners(new String[] {
			"config.style.dataStatsOnly", "config.style.separateProtDataStats"
		}, new ParameterListener() {

			public void parameterChanged(String x)
			{
				DisplayFormatters.separate_prot_data_stats = COConfigurationManager.getBooleanParameter("config.style.separateProtDataStats");
				DisplayFormatters.data_stats_only = COConfigurationManager.getBooleanParameter("config.style.dataStatsOnly");
			}

		});
		setUnits();
		loadMessages();
	}







}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -