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.;
onMin = "";
String zeile;
SimpleDateFormat fmt = new SimpleDateFormat();
fmt.applyPattern("dd-MM-yyyy,hh:mm:ss");
Calendar cal = Calendar.getInstance();
String date = fmt.format(cal.getTime()).toString();
try {
BufferedReader br = new BufferedReader(new FileReader("D:\\Java\\Projekte\\nickliste\\" + nick + ".txt"));
while ((zeile = br.readLine()) != null) {
if (zeile.startsWith("Registriert am : ")) {
String regdate = zeile.replace("Registriert am : ", "BLUBB");
}
if (zeile.startsWith("Verbrachte Minuten : ")) {
String onlinetime = zeile.replace("Verbrachte Minuten : ", "BLUBB");
}
if (zeile.startsWith("UserLevel : ")) {
String ulevel = zeile.replace("UserLevel : ", "BLUBB");
}
}
br.close();
} catch (Exception e) {
System.out.println("BLUBB!!!");
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 p) {
System.out.println("BLUBB!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
}
}
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("BLUBB!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
}
// File lagerDatei = new File("D:\\Java\\Projekte\\nickliste\\" + nick + ".txt");
// if (!lagerDatei.exists()) {
// try {
// System.out.println("Datei wird erstellt.");
// PrintWriter pw = new PrintWriter("D:\\Java\\Projekte\\nickliste\\" + nick + ".txt");
// pw.println("Registriert am : " + datum1);
// pw.println("Verbrachte Minuten : " + onMinD);
// pw.println("UserLevel : " + erg);
// pw.close();
// } catch (Exception e) {
// System.out.println("Datei konnte nicht erstellt werden");
// }
// } else {
// System.out.println("Datei wird geupdated.");
// PrintWriter pw = new PrintWriter("D:\\Java\\Projekte\\nickliste\\" + nick + ".txt");
// BufferedReader br = new BufferedReader(new FileReader("D:\\Java\\Projekte\\nickliste\\" + nick + ".txt"));
// pw.println("UserLevel hat sich am " + date + " um " + "change" + " geändert.");
// while ((zeile = br.readLine()) != null) {
// br.readLine();
// if (zeile.contains("UserLevel : ")) {
// double diff = Double.valueOf(zeile.substring(12)).doubleValue();
// double change = diff - erg;
// if (change == 0) {
//
// pw.println("UserLevel hat sich am " + date + " um " + change + " geändert.");
// String ergS = "" + erg;
// zeile.replace(zeile.substring(12), ergS);
// }
// }
// continue;
// }
// br.close();
// }
// try {
//
//
//
// File file = new File("D:\\Java\\Projekte\\nickliste\\" + nick + ".txt");
// FileWriter fw = null;
// fw = new FileWriter(file.getPath(), true);
// PrintWriter pw = new PrintWriter(fw);
//
// System.out.println(file);
//
//
//
//
// if (file.exists()) {
// BufferedReader br = new BufferedReader(new FileReader("D:\\Java\\Projekte\\nickliste\\" + nick + ".txt"));
// while ((zeile = br.readLine()) != null) {
// br.readLine();
// if (zeile.contains("UserLevel")) {
// double diff = Double.valueOf(zeile.substring(12)).doubleValue();
// double change = diff - erg;
// if (change == 0) {
//
// pw.println("UserLevel hat sich am " + date + " um " + change + " geändert.");
// String ergS = "" + erg;
// zeile.replace(zeile.substring(12), ergS);
// }
// }
// continue;
//
//
// }
// br.close();
// System.out.println("Datei wird geupdated.");
// }
// System.out.println("Datei wird erstellt.");
// fw = new FileWriter(file.getPath(), true);
// pw.println("Registriert am : " + datum1);
// pw.println("Verbrachte Minuten : " + onMinD);
// pw.println("UserLevel : " + erg);
// pw.println();
// pw.flush();
// pw.close();
// fw.flush();
// fw.close();
//
// } catch (IOException e) {
// e.printStackTrace();
// }
System.out.println(erg + " = " + nick);
nicks[i] = nick;
werte[i] = erg;
i++;
}
}
}
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;
}
}
}
}