Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.81 KB | None | 0 0
  1. import java.io.*;
  2. import java.util.Collections;
  3. import java.util.Scanner;
  4.  
  5. public class CSV1 {
  6. public void csv(){
  7.  
  8. int symbol;
  9. char ch;
  10. Scanner scanner = null;
  11. String data;
  12. byte index = 0;
  13. StringBuilder stringBuilder = new StringBuilder();
  14. String folderCSV = "D:\\test\\test.csv";
  15.  
  16. InputStreamReader reader = null;
  17. try {
  18. reader = new InputStreamReader(new FileInputStream(folderCSV), "cp1251");
  19.  
  20. symbol = reader.read();
  21. while (symbol != -1) {
  22. ch = (char) symbol;
  23. if (ch != '\n' ) {
  24. stringBuilder.append(ch);
  25. }else if(ch == '\r'){
  26.  
  27. }else {
  28. scanner = new Scanner(stringBuilder.toString());
  29. scanner.useDelimiter(";");
  30. User user = new User();
  31. while (scanner.hasNext()) {
  32. data = scanner.next();
  33. if (index == 0) {
  34. user.setLastName(data);
  35. } else if (index == 1) {
  36. user.setName(data);
  37. } else if (index == 2) {
  38. user.setYear(Integer.parseInt(data));
  39. } else {
  40. System.out.println("Error field");
  41. }
  42. index++;
  43. }
  44. index = 0;
  45. stringBuilder.setLength(0);
  46. users.add(user);
  47. }
  48. symbol = reader.read();
  49. }
  50.  
  51. } catch (UnsupportedEncodingException e) {
  52. e.printStackTrace();
  53. } catch (IOException e) {
  54. e.printStackTrace();
  55. }
  56.  
  57.  
  58. Collections.sort(users, (o1, o2) -> o2.getYear() - o1.getYear());
  59.  
  60. OutputStream outputStream = new FileOutputStream(folderCSV);
  61. stringBuilder.setLength(0);
  62.  
  63. for (User user : users) {
  64. stringBuilder.append(user.getLastName()).append(";");
  65. stringBuilder.append(user.getName()).append(";");
  66. stringBuilder.append(user.getYear()).append("\n");
  67. }
  68.  
  69. try {
  70. outputStream.write(stringBuilder.toString().getBytes("Cp1251"));
  71. } catch (IOException e) {
  72. e.printStackTrace();
  73. }
  74. }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement