Advertisement
anticlown

Файлы в Java

Oct 19th, 2023 (edited)
757
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.33 KB | None | 0 0
  1. /////////////////////// Проверка указанного пути ////////////////////////////////
  2.     public static String inputPathToFile() {
  3.         boolean isIncorrect;
  4.         String path;
  5.  
  6.         System.out.println("Укажите путь к файлу: ");
  7.  
  8.         do {
  9.             isIncorrect = false;
  10.             path = scan.nextLine();
  11.             File file = new File(path);
  12.  
  13.             if (!file.exists()) {
  14.                 System.out.println("По указанному пути файл не найден! Укажите правильный путь: ");
  15.                 isIncorrect = true;
  16.             }
  17.         } while (isIncorrect);
  18.  
  19.         return path;
  20.     }
  21. ///////////////////////////////////////////////////////////////////////////////
  22.  
  23.  
  24. ///////////////////////////// Ввод из файла ///////////////////////////////////
  25.     public static int[] fillSequenceFromFile(final int size, final String path) {
  26.         int[] sequence = new int[size];
  27.         int i;
  28.         System.out.println("Происходит чтение последовательности...");
  29.  
  30.         try (BufferedReader fReader = new BufferedReader(new FileReader(path))) {
  31.             fReader.readLine();
  32.             String[] integerInString = fReader.readLine().split(" ");
  33.  
  34.             for (int j = 0; j < size; j++)
  35.                 sequence[j] = Integer.parseInt(integerInString[j]);
  36.         } catch (Exception e) {
  37.             System.out.println("Ошибка при чтении системы! Введите систему с консоли!");
  38.             sequence = fillSequenceFromConsole(size);
  39.         }
  40.         for (int j = 0; j < size; j++) {
  41.             if (sequence[j] < MIN_VALUE || sequence[j] > MAX_VALUE) {
  42.                 System.out.println("Ошибка при считывании матрицы из файла! Введите матрицу с консоли!");
  43.                 sequence = fillSequenceFromConsole(size);
  44.             }
  45.         }
  46.  
  47.         return sequence;
  48.     }
  49. //////////////////////////////////////////////////////////////////////////////
  50.  
  51.  
  52. ////////////////////////////// Запись в файл //////////////////////////////////
  53.     public static void outputSequenceInFile(String path, final int[] sequence, final int size) {
  54.         boolean isIncorrect;
  55.         System.out.println("Вывод начальной последовательности в файл...");
  56.  
  57.         do {
  58.             isIncorrect = false;
  59.             try {
  60.                 FileWriter writer = new FileWriter(path, true);
  61.                 BufferedWriter bufferWriter = new BufferedWriter(writer);
  62.  
  63.                 for (int i = 0; i < size; i++)
  64.                     bufferWriter.write(sequence[i] + " ");
  65.                 bufferWriter.write("\n");
  66.  
  67.                 bufferWriter.close();
  68.                 writer.close();
  69.             } catch (IOException e) {
  70.                 isIncorrect = true;
  71.                 System.out.println("Ошибка! Измените параметры файла или укажите новую ссылку!");
  72.                 path = inputPathToFile();
  73.             }
  74.         } while (isIncorrect);
  75.  
  76.         System.out.println("Данные успешно записаны в файл!");
  77.     }
  78. //////////////////////////////////////////////////////////////////////////////
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement