blob: 42a6ad555502ac59545e62c3570cbdea7f712e1a (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
 | import java.util.ArrayList;
import java.util.Collection;
import java.io.File;
import java.io.FileWriter;
import java.io.BufferedWriter;
public class OutputFile
{
   private static Collection<OutputFile> ALL_OUTPUT_FILES;
   static
   {
      ALL_OUTPUT_FILES = new ArrayList<OutputFile>();
   }
   public static void close_all ()
   {
      for (final OutputFile f: ALL_OUTPUT_FILES)
      {
         f.close();
      }
   }
   public static OutputFile new_output_file (final String filename)
   {
      final OutputFile result;
      result = new OutputFile(filename);
      ALL_OUTPUT_FILES.add(result);
      return result;
   }
   /** Non-Static *************************************************************/
   private final String filename;
   private final BufferedWriter buffered_writer;
   private OutputFile (final String filename)
   {
      BufferedWriter bf;
      this.filename = filename;
      try
      {
         bf = new BufferedWriter(new FileWriter(new File(filename)));
      }
      catch (final Exception e)
      {
         bf = null;
         System.err.println
         (
            "[F] Could not create new output file \""
            + filename
            + "\":"
         );
         e.printStackTrace();
         System.exit(-1);
      }
      buffered_writer = bf;
   }
   public void write (final String data)
   {
      try
      {
         buffered_writer.write(data);
      }
      catch (final Exception e)
      {
         System.err.println
         (
            "[F] Could not write to output file \""
            + filename
            + "\":"
         );
         e.printStackTrace();
         System.exit(-1);
      }
   }
   public void insert_newline ()
   {
      try
      {
         buffered_writer.newLine();
      }
      catch (final Exception e)
      {
         System.err.println
         (
            "[F] Could not write to output file \""
            + filename
            + "\":"
         );
         e.printStackTrace();
         System.exit(-1);
      }
   }
   private void close ()
   {
      try
      {
         buffered_writer.close();
      }
      catch (final Exception e)
      {
         System.err.println
         (
            "[E] Could not properly close output file \""
            + filename
            + "\":"
         );
         e.printStackTrace();
      }
   }
}
 |