Advertisement
Guest User

Untitled

a guest
Jun 7th, 2017
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.38 KB | None | 0 0
  1. /*
  2. * Class FileManager
  3. *
  4. * Version 1.0
  5. *
  6. * Friday, August 22, 2008
  7. *
  8. * Created by Palidino76
  9. */
  10.  
  11. package com.z474.io;
  12.  
  13. import java.io.*;
  14.  
  15. import com.z474.model.players.Player;
  16. import com.z474.util.Misc;
  17. import com.z474.util.Stream;
  18.  
  19. public class FileManager {
  20. /**
  21. * Byte buffer for storing bytes to be loaded or saved.
  22. */
  23. // private Stream stream = new Stream(2000, 2000);
  24. private BufferedWriter buffer = null;
  25.  
  26. /**
  27. * Saves a character file.
  28. *
  29. * @param p
  30. * The player to save.
  31. */
  32. public void saveCharacter(Player p) throws Exception {
  33. if (p == null) {
  34. return;
  35. }
  36. try {
  37. // buffer.outOffset = 0;
  38. buffer.write("username:" + p.username);
  39. buffer.newLine();
  40. buffer.write("password:" + Misc.stringToLong(p.password));
  41. buffer.newLine();
  42. buffer.write("rights:" + p.rights);
  43. buffer.newLine();
  44. buffer.write("absx:" + p.absX);
  45. buffer.newLine();
  46. buffer.write("absy:" + p.absY);
  47. buffer.newLine();
  48. buffer.write("height:" + p.heightLevel);
  49. buffer.newLine();
  50. buffer.write("runenergy:" + p.runEnergy);
  51. buffer.newLine();
  52. buffer.write("gender:" + p.gender);
  53. buffer.newLine();
  54. buffer.write("special:" + p.specialAmount);
  55. buffer.newLine();
  56. buffer.write("kills:" + p.totalKills);
  57. buffer.newLine();
  58. buffer.write("startingxp:" + p.startingXP);
  59. buffer.newLine();
  60. for (int i = 0; i < p.look.length; i++) {
  61. buffer.write("look" + i + ":" + p.look[i]);
  62. buffer.newLine();
  63. }
  64. for (int i = 0; i < p.color.length; i++) {
  65. if (p.color[i] > 0)
  66. buffer.write("color" + i + ":" + p.color[i]);
  67. buffer.newLine();
  68. }
  69. for (int i = 0; i < p.skillLvl.length; i++) {
  70. buffer.write("skill" + i + ":" + p.skillLvl[i] + ","
  71. + p.skillXP[i]);
  72. buffer.newLine();
  73. }
  74. for (int i = 0; i < p.equipment.length; i++) {
  75. if (p.equipment[i] > -1 && p.equipmentN[i] > 0)
  76. buffer.write("equipment" + i + ":" + p.equipment[i] + ","
  77. + p.equipmentN[i]);
  78. buffer.newLine();
  79. }
  80. for (int i = 0; i < p.items.length; i++) {
  81. if (p.items[i] > -1 && p.itemsN[i] > 0)
  82. buffer.write("item" + i + ":" + p.items[i] + ","
  83. + p.itemsN[i]);
  84. buffer.newLine();
  85. }
  86. for (int i = 0; i < p.bankItems.length; i++) {
  87. if (p.bankItems[i] > -1 && p.bankItemsN[i] > 0)
  88. buffer.write("bankitem" + i + ":" + p.bankItems[i] + ","
  89. + p.bankItemsN[i]);
  90. buffer.newLine();
  91. }
  92. buffer.write("[END]");
  93. buffer.newLine();
  94. FileOutputStream out = new FileOutputStream(
  95. "./data/characters/mainsave/" + p.username + ".dat");
  96. // out.write(buffer.outBuffer, 0, buffer.outOffset);
  97. out.flush();
  98. out.close();
  99. out = null;
  100. } catch (Exception e) {
  101.  
  102. }
  103. }
  104.  
  105. /**
  106. * Loads a character file.
  107. *
  108. * @param p
  109. * The player to save.
  110. */
  111. public void loadCharacter(Player p) {
  112. // buffer.inOffset = 0;
  113. BufferedReader buffer = null;
  114. try {
  115. buffer = new BufferedReader(new FileReader(
  116. "./data/characters/mainsave/" + p.username + ".dat"));
  117. } catch (FileNotFoundException e) {
  118. return;
  119. }
  120. String line;
  121. try {
  122. while ((line = buffer.readLine()) != null && line.length() > 0
  123. && !line.equals("[END]")) {
  124. if (line.startsWith("password:")) {
  125. p.password = Misc.longToString(Long.parseLong(line
  126. .substring(9)));
  127. } else if (line.startsWith("rights:"))
  128. p.rights = Integer.parseInt(line.substring(7));
  129. else if (line.startsWith("absx:"))
  130. p.teleportToX = Integer.parseInt(line.substring(5));
  131. else if (line.startsWith("absy:"))
  132. p.teleportToY = Integer.parseInt(line.substring(5));
  133. else if (line.startsWith("height:"))
  134. p.heightLevel = Integer.parseInt(line.substring(7));
  135. else if (line.startsWith("runenergy:"))
  136. p.runEnergy = Integer.parseInt(line.substring(10));
  137. else if (line.startsWith("gender:"))
  138. p.gender = Integer.parseInt(line.substring(7));
  139. else if (line.startsWith("look"))
  140. p.look[Integer.parseInt(line.substring(4, 5))] = Integer
  141. .parseInt(line.substring(6));
  142. else if (line.startsWith("color"))
  143. p.color[Integer.parseInt(line.substring(5, 6))] = Integer
  144. .parseInt(line.substring(7));
  145. else if (line.startsWith("skill")) {
  146. p.skillLvl[Integer.parseInt(line.substring(5, line
  147. .indexOf(":")))] = Integer.parseInt(line.substring(
  148. line.indexOf(":") + 1, line.indexOf(",")));
  149. p.skillXP[Integer.parseInt(line.substring(5, line
  150. .indexOf(":")))] = Integer.parseInt(line
  151. .substring(line.indexOf(",") + 1));
  152. } else if (line.startsWith("equipment")) {
  153. p.equipment[Integer.parseInt(line.substring(9, line
  154. .indexOf(":")))] = Integer.parseInt(line.substring(
  155. line.indexOf(":") + 1, line.indexOf(",")));
  156. p.equipmentN[Integer.parseInt(line.substring(9, line
  157. .indexOf(":")))] = Integer.parseInt(line
  158. .substring(line.indexOf(",") + 1));
  159. } else if (line.startsWith("item")) {
  160. p.items[Integer.parseInt(line.substring(4, line
  161. .indexOf(":")))] = Integer.parseInt(line.substring(
  162. line.indexOf(":") + 1, line.indexOf(",")));
  163. p.itemsN[Integer.parseInt(line.substring(4, line
  164. .indexOf(":")))] = Integer.parseInt(line
  165. .substring(line.indexOf(",") + 1));
  166. } else if (line.startsWith("bankitem")) {
  167. p.bankItems[Integer.parseInt(line.substring(8, line
  168. .indexOf(":")))] = Integer.parseInt(line.substring(
  169. line.indexOf(":") + 1, line.indexOf(",")));
  170. p.bankItemsN[Integer.parseInt(line.substring(8, line
  171. .indexOf(":")))] = Integer.parseInt(line
  172. .substring(line.indexOf(",") + 1));
  173. } else if (line.startsWith("special:"))
  174. p.specialAmount = Integer.parseInt(line.substring(8));
  175. else if (line.startsWith("kills:"))
  176. p.totalKills = Integer.parseInt(line.substring(6));
  177. else if (line.startsWith("startingxp:"))
  178. p.startingXP = Integer.parseInt(line.substring(11));
  179. }
  180. } catch (Exception e) {
  181. }
  182. }
  183.  
  184. public void appendData(String file, String text) {
  185. BufferedWriter bw = null;
  186. try {
  187. FileWriter fileWriter = new FileWriter("./data/" + file, true);
  188. bw = new BufferedWriter(fileWriter);
  189. bw.write(text);
  190. bw.newLine();
  191. bw.flush();
  192. bw.close();
  193. fileWriter = null;
  194. bw = null;
  195. } catch (Exception exception) {
  196. Misc.println("Critical error while writing data: " + file);
  197. }
  198. }
  199. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement