Advertisement
jaVer404

level19.lesson05.task03_working but not tested 2

Feb 19th, 2016
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.24 KB | None | 0 0
  1. package com.javarush.test.level19.lesson05.task03;
  2.  
  3. /* Выделяем числа
  4. Считать с консоли 2 имени файла.
  5. Вывести во второй файл все числа, которые есть в первом файле.
  6. Числа выводить через пробел.
  7. Закрыть потоки. Не использовать try-with-resources
  8.  
  9. Пример тела файла:
  10. 12 text var2 14 8v 1
  11.  
  12. Результат:
  13. 12 14 1
  14. */
  15.  
  16. import java.io.*;
  17. import java.util.ArrayList;
  18. import java.util.Arrays;
  19.  
  20. public class Solution {
  21.     public static void main(String[] args)  {
  22.         BufferedReader reader = null;
  23.         try
  24.         {
  25.             reader = new BufferedReader(new InputStreamReader(System.in));
  26.             String fileName = reader.readLine();
  27.             String outFile = reader.readLine();
  28.             reader.close();
  29.             writeToFile(outFile,getNums(fileName));
  30.         }
  31.         catch (Exception e) {}
  32.         finally
  33.         {
  34.             if (reader!=null) {
  35.                 try
  36.                 {
  37.                     reader.close();
  38.                 }
  39.                 catch (IOException e) {}
  40.             }
  41.         }
  42.     }
  43.  
  44.     public static ArrayList <String> getNums (String sourceFile){
  45.         ArrayList<String>myNums = new ArrayList<String>();
  46.         BufferedReader readeFile = null;
  47.         try
  48.         {
  49.             readeFile = new BufferedReader(new FileReader(sourceFile));
  50.             String tmp="";
  51.             while ((tmp=readeFile.readLine())!=null){
  52.                 String[]strings = tmp.split(" ");
  53.                 for (String s : strings){
  54.                     if (isNumeric(s)) {
  55.                         myNums.add(s);
  56.                     }
  57.                 }
  58.             }
  59.             readeFile.close();
  60.             myNums.removeAll(Arrays.asList("", null));
  61.         }
  62.         catch (Exception e) {}
  63.         finally
  64.         {
  65.             if (readeFile!=null) {
  66.                 try
  67.                 {
  68.                     readeFile.close();
  69.                 }
  70.                 catch (IOException e) {}
  71.             }
  72.         }
  73.         return myNums;
  74.     }
  75.  
  76.  
  77.     public static void writeToFile (String outPut, ArrayList<String>nums) {
  78.         FileWriter fileWriter = null;
  79.         try
  80.         {
  81.             fileWriter = new FileWriter(outPut);
  82.             int sizeOf = nums.size();
  83.             for (int i = 0; i<sizeOf;i++) {
  84.                 if (i!=sizeOf-1) {
  85.                 fileWriter.write(nums.get(i));
  86.                 fileWriter.write(" ");
  87.                 }
  88.                 else {
  89.                     fileWriter.write(nums.get(i));
  90.                 }
  91.             }
  92.             fileWriter.close();
  93.         }
  94.         catch (Exception e) {}
  95.         finally
  96.         {
  97.             if (fileWriter!=null) {
  98.                 try
  99.                 {
  100.                     fileWriter.close();
  101.                 }
  102.                 catch (IOException e) {}
  103.             }
  104.         }
  105.     }
  106.  
  107.     public static boolean isNumeric(String str)
  108.     {
  109.         try
  110.         {
  111.             int d = Integer.parseInt(str);
  112.         }
  113.         catch(NumberFormatException nfe)
  114.         {
  115.             return false;
  116.         }
  117.         return true;
  118.     }
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement