Process a single input file. @param s the script to execute. @param file the input file.
(Script s, File file)
| 624 | * @param file the input file. |
| 625 | */ |
| 626 | private void processFile(Script s, File file) throws IOException { |
| 627 | if (!file.exists()) |
| 628 | throw new FileNotFoundException(file.getName()); |
| 629 | |
| 630 | if (!editFiles) { |
| 631 | |
| 632 | try(BufferedReader reader = new BufferedReader(new FileReader(file))) { |
| 633 | PrintWriter writer = new PrintWriter(System.out); |
| 634 | processReader(s, reader, writer); |
| 635 | writer.flush(); |
| 636 | } |
| 637 | } else { |
| 638 | File backup; |
| 639 | if (backupExtension == null) { |
| 640 | backup = File.createTempFile("groovy_", ".tmp"); |
| 641 | backup.deleteOnExit(); |
| 642 | } else { |
| 643 | backup = new File(file.getPath() + backupExtension); |
| 644 | } |
| 645 | backup.delete(); |
| 646 | if (!file.renameTo(backup)) |
| 647 | throw new IOException("unable to rename " + file + " to " + backup); |
| 648 | |
| 649 | |
| 650 | try(BufferedReader reader = new BufferedReader(new FileReader(backup)); |
| 651 | PrintWriter writer = new PrintWriter(new FileWriter(file))) { |
| 652 | processReader(s, reader, writer); |
| 653 | } |
| 654 | } |
| 655 | } |
| 656 | |
| 657 | /** |
| 658 | * Process a script against a single input file. |
no test coverage detected