package DNA.java;
import javax.swing.*;
import java.awt.*;
import java.text.*;
import java.io.*;
import java.util.*;
import java.net.*;
public class UserLevel {
public UserLevel() {
}
public static void main(String[] args) throws Exception {
BufferedReader br0 = new BufferedReader(new InputStreamReader(System.in));
URL url;
int k = 0;
int i = 0;
int xtb = 0;
String nick = "";
String read = "";
String datum1 = "";
String onMin = "";
double onMinD;
System.out.println("Eingabe:");
DateFormat df = new SimpleDateFormat("dd.MM.yyyy");
DateFormat defaultDate = DateFormat.getDateInstance();
String datum = defaultDate.format(new java.util.Date());
Date to = df.parse(datum);
StringTokenizer st = new StringTokenizer(br0.readLine(), ",");
int al = st.countTokens() + 1;
String[] nicks = new String[al];
double[] werte = new double[al];
while (st.hasMoreTokens()) {
for (int x = 0; st.hasMoreTokens(); x++) {
xtb++;
nick = st.nextToken();
if (nick.contains("DNAofDeath")) {
nick = " blah";
}
if (nick.contains("James")) {
nick = " blah";
}
if (x >= 1) {
nick = nick.substring(1);
}
nick = "http://knuddels.de/ww/" + nick;
if (nick.contains(" ")) {
;
}
{
nick = nick.replace(" ", "_");
nick = nick.replace("&", "%26");
url = new URL(nick);
}
BufferedReader br1 = new BufferedReader(new InputStreamReader(url.openStream()));
while ((read = br1.readLine()) != null) {
read = read.replace("<HTML><HEAD><META HTTP-EQUIV=\"Refresh\" CONTENT=\"0; URL=", "");
read = read.replace("\"></HEAD></HTML>", "");
url = new URL(read);
BufferedReader br2 = new BufferedReader(new InputStreamReader(url.openStream()));
while ((read = br2.readLine()) != null) {
nick = nick.replace("http://knuddels.de/ww/", "");
if (read.contains("<FONT FACE=\"Arial\">
[B]")) {
read = read.replace("<FONT FACE=\"Arial\">
[B]", "");
read = read.replace("<FONT COLOR=\"#000000\" SIZE=2>[/B]<FONT COLOR=\"000000\"> hat sich am [B]", "");
if (read.contains("http://spenden.knuddels.de")) {
read = read.replace("<a href=\"http://spenden.knuddels.de\" target=_blank><img border=0 src=\"../../images/ico_ribbon.gif\"></a> ", "");
read = read.replace("<FONT COLOR=\"#000000\" SIZE=2>[/B]<FONT COLOR=\"000000\">hat sich am [B]", "");
}
read = read.replace("&", "&");
read = read.replace("&", ">");
read = read.replace("&", "<");
read = read.replace("&", " ");
nick = nick.replace("%26", "&");
nick = nick.replace("_", " ");
int zeichen = nick.length();
int h = nick.length();
if (zeichen == nick.length()) {
nick = read.substring(0, h);
k = nick.length() + 10;
datum1 = read.substring(h, k);
String time1 = read.substring(h + 39, h + 47);
read = read.replace(nick + datum1 + "[/B]<FONT COLOR=\"000000\"> um " + time1 + " bei Knuddels registriert und seitdem schon [B]", "");
String ez = read.substring(0, 10);
String[] n = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};
for (int a = 0; a <= 9; a++) {
String t = ez.substring(a, a + 1);
for (int j = 0; j <= 9; j++) {
if (t.contains(n[j])) {
onMin = onMin + n[j];
}
}
}
onMinD = Double.parseDouble(onMin);
Date from = df.parse(datum1);
double diffMillis = to.getTime() - from.getTime();
double diffMins = diffMillis / (1000 * 60);
double erg = (100 / diffMins) * (double) onMinD;
erg = Math.round(erg * 10000.) / 10000.;
String zeile;
String ergS = "" + erg;
SimpleDateFormat fmt = new SimpleDateFormat();
fmt.applyPattern("dd-MM-yyyy,hh:mm:ss");
Calendar cal = Calendar.getInstance();
String date = fmt.format(cal.getTime()).toString();
System.out.println(erg + " = " + nick);
try {
BufferedReader br = new BufferedReader(new FileReader("D:\\Java\\Projekte\\nickliste\\" + nick + ".txt"));
while ((zeile = br.readLine()) != null) {
BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\Java\\Projekte\\nickliste\\" + nick + ".txt"));
if (zeile.startsWith("Registriert am : ")) {
datum1 = zeile.replace("Registriert am : " + zeile.substring(17),"Registriert am : " + datum1 + "BLAH");
bw.newLine();
bw.write("BLAH");
} else
if (zeile.startsWith("Verbrachte Minuten : ")) {
onMin = zeile.replace(zeile.substring(21), onMin + "BLAH");
} else
if (zeile.startsWith("UserLevel : ")) {
String blah = zeile.substring(12);
double blahD = Double.parseDouble(blah);
double diff = blahD - erg;
System.out.println(blahD);
System.out.println(diff);
ergS = zeile.replace(zeile.substring(12), ergS + "/n" + diff + " " + blahD);
}
}
System.out.println("Datei wird Aktualisiert");
br.close();
} catch (Exception e) {
System.out.println("Datei wird neu Erstellt");
}
try {
BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\Java\\Projekte\\nickliste\\" + nick + ".txt"));
bw.write("Registriert am : " + datum1);
bw.newLine();
bw.write("Verbrachte Minuten : " + onMinD);
bw.newLine();
bw.write("UserLevel : " + erg);
bw.newLine();
bw.close();
} catch (Exception e) {
System.out.println("Du hast was Falsch gemacht du trottel xDD");
}
nicks[i] = nick;
werte[i] = erg;
i++;
onMin = "";
}
}
}
br2.close();
}
br1.close();
}
br0.close();
}
final Map<String, Double> map = new HashMap<String, Double>();
int g = 1;
for (int xd = 0; xd <= xtb; xd++) {
map.put(nicks[xd], werte[xd]);
}
Comparator<String> comparator = new Comparator<String>() {
@Override
public int compare(String a, String b) {
return -map.get(a).compareTo(map.get(b));
}
};
Map<String, Double> sortedMap = new TreeMap<String, Double>(comparator);
sortedMap.putAll(map);
File file = new File("C:\\test.txt");
if (file.exists()) {
file.delete();
}
System.out.println("File Überschrieben");
for (String s : sortedMap.keySet()) {
try {
FileWriter fw = new FileWriter(file.getPath(), true);
PrintWriter pw = new PrintWriter(fw);
String ausgabe = "#" + g + ".)" + s + " ~~~~~~> " + sortedMap.get(s);
pw.println(ausgabe);
fw.flush();
fw.close();
pw.flush();
pw.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("#" + g + ".)" + s + " ~~~~~~> " + sortedMap.get(s));
g++;
if (g == 11) {
break;
}
}
}
}