Guest User

Untitled

a guest
Jul 19th, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.53 KB | None | 0 0
  1. import java.io.BufferedWriter;
  2. import java.io.File;
  3. import java.io.FileNotFoundException;
  4. import java.io.FileWriter;
  5. import java.io.IOException;
  6. import java.util.ArrayList;
  7. import java.util.Scanner;
  8.  
  9.  
  10. public class UserDataBase {
  11. private class User{
  12. public int account;
  13. public int password;
  14. public int balance;
  15. public String language;
  16.  
  17. public User(int acc, int pass, int bal, String lang) {
  18. account = acc;
  19. password = pass;
  20. balance = bal;
  21. language = lang;
  22. }
  23. @Override
  24. public String toString() {
  25. super.toString();
  26.  
  27. return account + "\t" + password + "\t" + balance + "\t" + language;
  28. }
  29.  
  30. }
  31.  
  32. private ArrayList<User> users = new ArrayList<User>();
  33. private String filename;
  34.  
  35. public UserDataBase(String databasefile) {
  36. filename = databasefile;
  37. File file = new File(databasefile);
  38.  
  39. if (!file.exists()) {
  40. // create the file
  41. try {
  42. FileWriter fw = new FileWriter(databasefile);
  43. BufferedWriter writer = new BufferedWriter(fw);
  44. writer.write("");
  45. writer.close();
  46. } catch (IOException e) {
  47. e.printStackTrace();
  48. }
  49.  
  50. return;
  51. }
  52.  
  53. try {
  54. Scanner sc = new Scanner(file);
  55. sc.useDelimiter("\t");
  56. while (sc.hasNextLine()) {
  57. String line = sc.nextLine();
  58. String[] ray = line.split("\t");
  59.  
  60. int account = Integer.parseInt(ray[0]);
  61. int password = Integer.parseInt(ray[1]);
  62. int balance = Integer.parseInt(ray[2]);
  63. String language = ray[3];
  64.  
  65. User user = new User(account, password, balance, language);
  66. users.add(user);
  67. }
  68. } catch (FileNotFoundException e) {
  69. return;
  70. }
  71. }
  72.  
  73. public User getUser(int acc){
  74. for (User user : users) {
  75. if (user.account == acc) {
  76. return user;
  77. }
  78. }
  79.  
  80. return null;
  81. }
  82.  
  83. public boolean findUser(int acc){
  84. User user = getUser(acc);
  85. if(users.contains(user)){
  86. return true;
  87. } else {
  88. return false;
  89. }
  90. }
  91.  
  92. public int getBalance(int acc){
  93. User user = getUser(acc);
  94. if(findUser(acc)) {
  95. return user.balance;
  96. }else{
  97. System.out.println("User not found in database");
  98. return -1;
  99. }
  100. }
  101.  
  102. public int getPassword(int acc){
  103. User user = getUser(acc);
  104. if(findUser(acc)) {
  105. return user.password;
  106. }else{
  107. System.out.println("User not found in database");
  108. return -1;
  109. }
  110. }
  111.  
  112. public void addUser(int acc, int pass, int bal, String lang){
  113. if (findUser(acc)) {
  114. System.out.println("User is already in the database");
  115. }
  116.  
  117. User user = new User(acc,pass,bal,lang);
  118. users.add(user);
  119. writeToFile();
  120. }
  121.  
  122. public boolean removeUser(int account){
  123. User user = getUser(account);
  124. boolean result = users.remove(user);
  125. writeToFile();
  126. return result;
  127. }
  128.  
  129. public boolean decreaseBalance(int account,int amount){
  130. User user = getUser(account);
  131. if (user == null) {
  132. return false;
  133. }
  134.  
  135. user.balance = user.balance - amount;
  136. return true;
  137. }
  138.  
  139. public boolean increaseBalance(int account,int amount){
  140. User user = getUser(account);
  141. if (user == null) {
  142. return false;
  143. }
  144.  
  145. user.balance = user.balance + amount;
  146. return true;
  147. }
  148.  
  149. public void writeToFile() {
  150. // loop through the users and write to file
  151. try {
  152. FileWriter fw = new FileWriter(filename);
  153. BufferedWriter writer = new BufferedWriter(fw);
  154. Boolean firstline = true;
  155. for (User user : users) {
  156. if (!firstline) {
  157. writer.newLine();
  158. }
  159. writer.write(user.toString());
  160. firstline = false;
  161. }
  162. writer.close();
  163. } catch (IOException e) {
  164. e.printStackTrace();
  165. }
  166. }
  167.  
  168.  
  169.  
  170. }
Add Comment
Please, Sign In to add comment