source: other-projects/the-macronizer/trunk/src/java/util/IOUtil.java@ 29855

Last change on this file since 29855 was 29855, checked in by davidb, 9 years ago

John's code after refactoring by Tom over the summer of 2014/2015

File size: 2.1 KB
Line 
1/*
2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
4 */
5package util;
6
7import java.io.BufferedReader;
8import java.io.BufferedWriter;
9import java.io.File;
10import java.io.FileInputStream;
11import java.io.FileOutputStream;
12import java.io.IOException;
13import java.io.InputStreamReader;
14import java.io.OutputStreamWriter;
15import java.io.Reader;
16import java.io.Writer;
17
18/**
19 * Simple utility methods for IO operations.
20 *
21 * @author John Cocks
22 */
23public class IOUtil {
24
25 /**
26 * Closes the reader.
27 * @param reader The reader to close.
28 */
29 public static void closeReader(Reader reader) {
30 if (reader != null) {
31 try {
32 reader.close();
33 } catch (IOException e) {
34 e.printStackTrace();
35 }
36 }
37 }
38
39 /**
40 * Closes the writer.
41 * @param writer The writer to close.
42 */
43 public static void closeWriter(Writer writer) {
44 if (writer != null) {
45 try {
46 writer.close();
47 } catch (IOException e) {
48 e.printStackTrace();
49 }
50 }
51 }
52
53 /**
54 * Converts the character set of a text file.
55 * @param fileIn
56 * @param charSetIn
57 * @param fileOut
58 * @param charSetOut
59 * @return
60 */
61 public static boolean convertCharSet(File fileIn, String charSetIn,
62 File fileOut, String charSetOut) {
63 BufferedReader reader = null;
64 BufferedWriter writer = null;
65 try {
66 reader = new BufferedReader(new InputStreamReader(new FileInputStream(fileIn), charSetIn));
67 writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileOut), charSetOut));
68 String line;
69 while ((line = reader.readLine()) != null) {
70 writer.write(line);
71 writer.newLine();
72 }
73 return true;
74 } catch (IOException e) {
75 e.printStackTrace();
76 return false;
77 } finally {
78 closeReader(reader);
79 closeWriter(writer);
80 }
81 }
82}
Note: See TracBrowser for help on using the repository browser.