1   package org.slf4j.converter;
2   
3   import java.io.BufferedWriter;
4   import java.io.File;
5   import java.io.FileWriter;
6   import java.io.IOException;
7   import java.util.regex.Matcher;
8   
9   
10  public class Writer {
11  
12  
13  	BufferedWriter bwriter;
14  
15  	boolean isFirstLine;
16  
17  	public Writer() {
18  	}
19  
20  	public void initFileWriter(File file) {
21  		try {
22  			FileWriter fileWriter = new FileWriter(file);
23  			bwriter = new BufferedWriter(fileWriter);
24  			isFirstLine = true;
25  		} catch (IOException exc) {
26  			System.out.println("error creating filewriter " + file.getAbsolutePath());
27  		}
28  	}
29  
30  	public void closeFileWriter() {
31  		if (bwriter != null) {
32  			try {
33  				bwriter.flush();
34  				bwriter.close();
35  			} catch (IOException e) {
36  				System.out.println("error closing filewriter " + bwriter.toString());
37  			}
38  		}
39  	}
40  
41  	public void rewrite(Matcher matcher, String replacement) {
42  		String text = matcher.replaceAll(replacement);
43  		if (bwriter != null) {
44  			try {
45  				if (!isFirstLine) {
46  					bwriter.newLine();
47  				} else {
48  					isFirstLine = false;
49  				}
50  				bwriter.write(text);
51  				//System.out.println("new entry " + text);
52  			} catch (IOException exc) {
53  				System.out.println("error writing file " + bwriter.toString());
54  			}
55  		}
56  	}
57  
58  	public void write(String text) {
59  		if (bwriter != null) {
60  			try {
61  				if (!isFirstLine) {
62  					bwriter.newLine();
63  				} else {
64  					isFirstLine = false;
65  				}
66  				bwriter.write(text);
67  				//System.out.println("new entry " + text);
68  			} catch (IOException exc) {
69  				System.out.println("error writing file " + bwriter.toString());
70  			}
71  		}
72  	}
73  
74  }