Advertisement
Guest User

Untitled

a guest
Apr 27th, 2017
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.58 KB | None | 0 0
  1. package com.opintonaattori.tiedosto;
  2.  
  3. import com.opintonaattori.logiikka.Kurssisuoritus;
  4. import java.io.File;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7. import org.apache.commons.io.FileUtils;
  8.  
  9. /**
  10. * Luokka tarjoaa tiedoston lukemiseen tarvittavia metodeja, vaatii vielä toiminnallisuutta.
  11. */
  12. public class Raporttikone {
  13.  
  14. private File tiedosto;
  15. private List<Kurssisuoritus> kurssisuoritukset;
  16. private int tiedostonKoko;
  17.  
  18. public Raporttikone(File tiedosto) {
  19. this.tiedosto = tiedosto;
  20. this.kurssisuoritukset = new ArrayList<>();
  21. this.tiedostonKoko = 0;
  22.  
  23.  
  24.  
  25. }
  26.  
  27. public void setTiedostonKoko() {
  28. this.tiedostonKoko = lueTiedosto().size();
  29. }
  30.  
  31. public int getTiedostonKoko() {
  32. return this.tiedostonKoko;
  33. }
  34.  
  35. /**
  36. * Metodi lukee tiedoston ja lisää saamansa rivit listaan.
  37. *
  38. * @return rivit arraylistinä
  39. */
  40. public List<String> lueTiedosto() {
  41. List<String> tiedostonRivit = new ArrayList<>();
  42. try {
  43. tiedostonRivit = FileUtils.readLines(this.tiedosto, "utf-8");
  44. } catch (Exception e) {
  45. System.out.println("Virhe!!" + e.getMessage());
  46. }
  47. return tiedostonRivit;
  48. }
  49.  
  50. /**
  51. * Metodi lukee lueTiedosto() antaman listan rivin, eli yhden kurssin tiedot, erottaa tiedot pilkulla ja lisää ne taulukkoon.
  52. *
  53. * @param i halutun rivin numero
  54. * @return kurssisuorituksen tiedot taulukkona
  55. */
  56. public String[] lueRivi(int i) {
  57. setTiedostonKoko();
  58. if (this.tiedostonKoko > 0) {
  59. return lueTiedosto().get(i).split(",");
  60. }
  61. return null;
  62. // for (String string : rivit) {
  63. // return string.split(",");
  64. // }
  65. }
  66.  
  67. /**
  68. * Metodi lukee kurssisuoritusten tiedot tiedostosta, muuttaa ne Kurssisuorituksiksi ja lisää listalle.
  69. *
  70. * @return Kurssisuoritukset listana
  71. */
  72. public List<Kurssisuoritus> lueKurssisuoritukset() {
  73. setTiedostonKoko();
  74. if (this.tiedostonKoko > 0 && lueRivi(0) != null) {
  75. System.out.println("HALOO");
  76. for (int i = 0; i < this.tiedostonKoko; i++) {
  77. Kurssisuoritus kurssi = new Kurssisuoritus(lueRivi(i)[0], Integer.parseInt(lueRivi(i)[1]), Integer.parseInt(lueRivi(i)[2]));
  78. this.kurssisuoritukset.add(kurssi);
  79. }
  80. }
  81. // if (this.kurssisuoritukset.size() > 0) {
  82. // return null;
  83. // }
  84. return this.kurssisuoritukset;
  85. }
  86.  
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement