API ArrayList to file thing and back

Discussion in 'Resources' started by Skionz, Nov 10, 2014.

Thread Status:
Not open for further replies.
  1. Offline


    This class saves array lists into files and lets you read them easily.
    1. public class ListFile {
    2. File file;
    3. String path;
    5. public ListFile(String path, String extension) {
    6. this.path = path + "." + extension;
    7. this.file = new File(this.path);
    8. try {
    9. this.file.createNewFile();
    10. } catch (Exception e) {
    11. e.printStackTrace();
    12. }
    13. }
    14. public ArrayList<String> read() {
    15. ArrayList<String> list = new ArrayList<String>();
    16. try {
    18. String line = null;
    19. while ((line = br.readLine()) != null) {
    20. list.add(line);
    21. }
    22. br.close();
    23. } catch(Exception e) {
    24. e.printStackTrace();
    25. }
    26. return list;
    27. }
    28. public void write(ArrayList<String> list) {
    29. try {
    30. BufferedWriter bw = new BufferedWriter(new FileWriter(path, true));
    31. for(String line : list) {
    32. bw.append(line);
    33. bw.newLine();
    34. }
    35. bw.close();
    36. } catch(Exception e) {
    37. e.printStackTrace();
    38. }
    39. }
    40. }

    Here is some example usage
    1. ListFile file = new ListFile("/path/to/file", "txt");
    2. ArrayList<String> list = new ArrayList<String>();
    3. list.add("Welcome to the server!");
    4. list.add("Use /help for help");
    5. file.write(list);

    This writes the array list to the file. The file "file.txt" would look like this
    Welcome to the server!
    Use /help for help
    To get the array list from the file you could do this. The read() method returns an array list that you can iterate through.
    1. ListFile file = new ListFile("/path/to/file", "txt");
    2. for(String line : file.read()) {
    3. System.out.println(line);
    4. }

    The output would be
    Welcome to the server!
    Use /help for help
    This could be useful for motds and stuff I guess. I just started using buffered streams so comment if I did it wrong :p
    ChipDev likes this.
  2. Offline


    getConfig().set("path.to.list", ArrayList<String>);
  3. Offline


    You mean saving only String lists to a file?
    Skionz, Gamecube762 and teej107 like this.
  4. Offline


    My method doesn't require the bukkit api so you can use it in other projects as well
  5. Offline


    You can download YMLs api.
    Gamecube762 and Skionz like this.
  6. Offline


    What if you can't download stuff?
    *You just got owned.
  7. Offline


    And how did you post this then...?
  8. Offline


    I am talking about people who cannot. :p
  9. Offline


    Then they won't need this as they won't be able to download Java, an IDE, or Minecraft.
  10. Offline


    Lets talk about my friend Ian who's computer crashed after he got all that stuff.
    Now he can't download stuff.
    Rare thing..
    but... Billions of people.
  11. Offline


    Gamecube762 lol if they couldn't download things then they couldn't even see this resource.
  12. Offline


    I've gone through multiple computer crashes and recovered them. If your friend attempts to download stuff with a crashed computer, I think he needs to get his priority straight...

    This conversation is off-topic... I think we need to return to the topic.
  13. Offline


    On-topic by telling him how to Improve the API, because he is being helpful.
  14. Offline


    If you can't download stuff, then you need to talk the the website owner, your ISP, or your computer admin.

    https://code.google.com/p/snakeyaml/ Here is the YAML api that Bukkit uses (I think, or at least a variation of). The download link for that works fine.
Thread Status:
Not open for further replies.

Share This Page