Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package scripts;
- import java.io.*;
- import java.net.URL;
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.HashMap;
- public class ItemParser {
- static HashMap<String, Integer> ALL = new HashMap<>(), F2P = new HashMap<>(), P2P = new HashMap<>();
- public static void main(String[] args) {
- try {
- URL url = new URL("https://rsbuddy.com/exchange/summary.json");
- try (BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()))) {
- String summary = reader.readLine();
- if (summary == null) {
- return;
- }
- String[] pieces = summary.split(": \\{");
- for (String piece : pieces) {
- String[] split = piece.split(":");
- String name = null; Integer ID = null; Boolean membership = null;
- for (int i = 0; i < split.length; i++) {
- if (split[i].contains("\"id\"")) {
- ID = Integer.parseInt(split[i + 1].split(",")[0].replaceAll("[^\\d.]", "").trim());
- } else if (split[i].contains("\"name\"")) {
- name = split[i + 1].split(",")[0].replaceAll("\"", "").replaceAll("}", "").trim();
- } else if (split[i].contains("\"members\"")) {
- membership = Boolean.parseBoolean(split[i + 1].split(",")[0].replaceAll("\"", "").replaceAll("}", "").trim());
- }
- }
- if (name == null || ID == null || membership == null) {
- continue;
- }
- ALL.put(name, ID);
- if (membership) {
- P2P.put(name, ID);
- } else {
- F2P.put(name, ID);
- }
- }
- }
- System.out.println("Found " + ALL.size() + " items, " + P2P.size() + " of which were members only and " + F2P.size() + " were not.");
- // WRITE TO DESKTOP
- String home = System.getProperty("user.home") + "/Desktop";
- File fileALL = new File(home, "ALL.txt"), fileP2P = new File(home, "P2P.txt"), fileF2P = new File(home, "F2P.txt");
- try (BufferedWriter out1 = new BufferedWriter(new FileWriter(fileALL));
- BufferedWriter out2 = new BufferedWriter(new FileWriter(fileP2P));
- BufferedWriter out3 = new BufferedWriter(new FileWriter(fileF2P))) {
- ArrayList<String> names = new ArrayList<>(ALL.keySet());
- Collections.sort(names);
- for (String name : names) {
- out1.write(name + ":" + Integer.toString(ALL.get(name)));
- out1.newLine();
- }
- names = new ArrayList<>(P2P.keySet());
- Collections.sort(names);
- for (String name : names) {
- out2.write(name + ":" + Integer.toString(P2P.get(name)));
- out2.newLine();
- }
- names = new ArrayList<>(F2P.keySet());
- Collections.sort(names);
- for (String name : names) {
- out3.write(name + ":" + Integer.toString(F2P.get(name)));
- out3.newLine();
- }
- }
- } catch (Exception e) {
- System.out.println("Failed to read RSBuddy summary page:");
- e.printStackTrace();
- }
- System.out.println("Finished. The files are on your desktop.");
- }
- }
Add Comment
Please, Sign In to add comment