Advertisement
Guest User

1.4 с коммент

a guest
Mar 1st, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.98 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.File;
  3. import java.io.FileNotFoundException;
  4. import java.io.FileReader;
  5. import java.io.IOException;
  6. import java.io.PrintWriter;
  7. import java.util.Scanner;
  8. import java.util.regex.Pattern;
  9.  
  10. public class hello {
  11.  
  12. public static void write(String fileName,String text){
  13. File file = new File(fileName);//создаём файл
  14. try {
  15. //проверяем, что если файл не существует то создаем его
  16. if(!file.exists()){
  17. file.createNewFile();
  18. }
  19.  
  20. //PrintWriter обеспечит возможности записи в файл
  21. PrintWriter out = new PrintWriter(file.getAbsoluteFile());
  22.  
  23. try {
  24. //Записываем текст у файл
  25. out.print(text);
  26. } finally {
  27. //После чего мы должны закрыть файл
  28. //Иначе файл не запишется
  29. out.close();
  30. }
  31. } catch(IOException e) {
  32. throw new RuntimeException(e);
  33. }
  34.  
  35. }
  36.  
  37. public static String read(String fileName) throws FileNotFoundException {
  38. //Этот спец. объект для построения строки
  39. StringBuilder sb = new StringBuilder();
  40. File file = new File(fileName);
  41. exists(fileName);
  42.  
  43. try {
  44. //Объект для чтения файла в буфер
  45. BufferedReader in = new BufferedReader(new FileReader( file.getAbsoluteFile()));
  46. try {
  47. //В цикле построчно считываем файл
  48. String s;
  49. while ((s = in.readLine()) != null) {
  50. sb.append(s);
  51. sb.append("\n");
  52. }
  53. } finally {
  54. //Также не забываем закрыть файл
  55. in.close();
  56. }
  57. } catch(IOException e) {
  58. throw new RuntimeException(e);
  59. }
  60.  
  61. //Возвращаем полученный текст с файла
  62. return sb.toString();
  63. }
  64.  
  65.  
  66. //Для проверки на существование файла создадим метод
  67. private static void exists(String fileName) throws FileNotFoundException {
  68. File file = new File(fileName);
  69. if (!file.exists()){
  70. throw new FileNotFoundException(file.getName());
  71. }
  72. }
  73.  
  74.  
  75.  
  76. public static void main(String[] args) throws FileNotFoundException {
  77. Scanner sc = new Scanner(System.in); // создаём объект класса Scanner
  78. System.out.print("Введите имя файла ");
  79. String name = "C://Users//Oleg//Test1//bin//"+ sc.nextLine() + ".txt"; // указываем полный путь + вводим название файла
  80. System.out.print("Введите содержимое файла ");
  81. String text = sc.nextLine();//вводим содержимое файла
  82. hello.write(name, text);//записываем cодержимое text в name
  83.  
  84. String fileRead = hello.read(name); //читаем файл name и записываем его содержимое в переменную fileRead
  85. System.out.println("Содержимое файла = " + fileRead);
  86.  
  87. System.out.println("введите букву");
  88. Pattern pattern = Pattern.compile("[A-Za-zА-Яа-я]"); //паттерн включающий в себя все буквы
  89. String c = sc.next();//вводим букву
  90. while(!((pattern.matcher(c).find()) && (c.length() == 1)))//если содержимое переменной c входит в pattern и длина содержимого == 1, тогда проверку прошли, иначе вводим ещё раз
  91. {
  92. System.out.print("ошибка ввода,введите ещё раз");
  93. c = sc.next();
  94. }
  95.  
  96. String textMas[] = text.split(" ");//разделяем содержимое text на массив и записываем в textMas[] (к примеру text = "lalalal horochaya pogoda" тогда textmas[0] = lalalal textMas[1] = horochaya textMas[2] = pogoda
  97. String slova = "";//в эту переменную запишем все слова в которых были совпадения
  98. for(String y : textMas) //создаём переменную y, цикл будет прогоняться столько раз, сколько у нас слов в массиве textMas
  99. {
  100. if(y.charAt(0) == c.charAt(0))//если первые символы совпадают, то записываем это слово в переменную y
  101. slova += y + " ";
  102. }
  103. Scanner sc2 = new Scanner(System.in);//создаём объект класса Scanner
  104. System.out.print("введите название файла, куда записать результат:");
  105. String name2 = "C://Users//Oleg//Test1//bin//"+ sc2.nextLine() + ".txt";//name2
  106. hello.write(name2, slova);//выводим содержимое переменной slova в name2
  107.  
  108. //закрываем потоки
  109. sc.close();
  110. sc2.close();
  111. }
  112. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement