package com.javarush.test.level19.lesson05.task05; /* Пунктуация Считать с консоли 2 имени файла. Первый Файл содержит текст. Удалить все знаки пунктуации, включая символы новой строки. Результат вывести во второй файл. http://ru.wikipedia.org/wiki/%D0%9F%D1%83%D0%BD%D0%BA%D1%82%D1%83%D0%B0%D1%86%D0%B8%D1%8F Закрыть потоки. Не использовать try-with-resources */ import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; public class Solution { public static void main(String[] args) throws IOException { Scanner scanner = new Scanner(System.in); FileReader reader = new FileReader(scanner.nextLine()); FileWriter writer = new FileWriter(scanner.nextLine()); while (reader.ready()) { //пока есть непрочитанные байты в потоке ввода char data = (char) reader.read(); //читаем один символ (char будет расширен до int) if (!matcher(data)) { int data1 = data; writer.write(data1); //пишем один символ (int будет обрезан/сужен до char) } } reader.close(); writer.close(); scanner.close(); } private static boolean matcher(char c) { int x = c; for (int i = 33; i <= 47; i++) { if (i == x) return true; } for (int i = 58; i <= 63; i++) { if (i == x) return true; } for (int i = 91; i <= 96; i++) { if (i == x) return true; } for (int i = 123; i <= 126; i++) { if (i == x) return true; } if (c == '\n') return true; return false; } }
Leave A Comment