Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.90 KB | None | 0 0
  1. import java.io.*;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4.  
  5. public class HexDec_Converter {
  6. private static boolean flagin;
  7. private static String pathin;
  8. private static boolean flagout;
  9. private static String pathout;
  10.  
  11. public static void main(String[] args) {
  12. String argstring = "";
  13. for (String s : args) {
  14. if (s.startsWith("-i")) {
  15. flagin = true;
  16. pathin = s.replaceFirst("-i", "");
  17. if (pathin.isEmpty())
  18. pathin = System.getProperty("user.dir") + "/input.txt";
  19. } else if (s.startsWith("-o")) {
  20. flagout = true;
  21. pathout = s.replaceFirst("-o", "");
  22. if (pathout.isEmpty())
  23. pathout = System.getProperty("user.dir") + "/output.txt";
  24. } else {
  25. argstring += s+"\n";
  26. }
  27. }
  28.  
  29. StringBuffer buff = new StringBuffer();
  30. if (flagin) {
  31. try (FileReader reader = new FileReader(pathin)) {
  32. int c;
  33. while ((c = reader.read()) != -1) {
  34. buff.append((char) c);
  35. }
  36. } catch (IOException ex) {
  37. System.out.println(ex.getMessage());
  38. }
  39. } else {
  40. buff.append(argstring);
  41. }
  42.  
  43. List<String> list = new ArrayList<>();
  44. String[] strings = buff.toString().split("(,|;|\n|\r|\t|\f|\\s)+"); //CR, LF or CRLF
  45. String buffstring;
  46. for (String a : strings) {
  47. if (a.startsWith("0x")) {
  48. try {
  49. buffstring = Integer.decode(a).toString();
  50. } catch (NumberFormatException e) {
  51. buffstring = "invalid hexadecimal value";
  52. }
  53. } else {
  54. try {
  55. buffstring = Integer.toHexString(Integer.valueOf(a));
  56. } catch (NumberFormatException e) {
  57. buffstring = "invalid decimal value";
  58. }
  59. }
  60. String out = new String(a + " " + buffstring + "\n");
  61. if (!flagout) {
  62. System.out.println(out);
  63. } else {
  64. list.add(out);
  65. }
  66. }
  67.  
  68. if (flagout) {
  69. try (FileWriter writer = new FileWriter(pathout)) {
  70. StringBuilder stringBuilder = new StringBuilder();
  71. for (String s :
  72. list) {
  73. stringBuilder.append(s);
  74. }
  75. writer.write(stringBuilder.toString());
  76. writer.flush();
  77. } catch (IOException ex) {
  78. ex.printStackTrace();
  79. }
  80. } else {
  81. for (String s :
  82. list) {
  83. System.out.println(s);
  84. }
  85. }
  86. }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement