public class WordWriter{
public static void main(String[] args) throws IOException {
WordWriter lw=new WordWriter("a.txt");
lw.append("学习");
}
/**
* filename of the log file
*/
protected String filename;
/**
* the log file
*/
protected File file;
/**
* the file writer
*/
protected FileWriter fWriter;
/**
* the print writer (we can invoke function : println(String))
*/
protected PrintWriter pWriter;
/**
* Constructor
*
* @param filename the filename of the log
*
*/
public WordWriter(String filename) throws IOException{
this.filename = filename;
file = new File(filename);
}
/**
* append a new line to the log file, also output it to console
*
* @param log the string to write to file
*
*/
public synchronized void append(String log){
fWriter = null;
pWriter = null;
try{
fWriter = new FileWriter(file, true);
pWriter = new PrintWriter(fWriter);
// append to log file
pWriter.println(log);
// output it to console
System.out.println(log);
}catch (IOException e){
System.out.println ("Error Writing log file: " + e);
}finally{
try{
if (pWriter != null){
pWriter.close();
}
if (fWriter != null){
fWriter.close();
}
}catch (IOException e){}
}
}
/**
* Return the length of the log file
*
* @return the length of the log file
*
*/
public long getLength(){
return file.length();
}
/**
* append a new line to the log file, also output it to console
*
* @param obj the object to write to file
*
*/
public void append(Object obj) throws IOException{
append(obj.toString());
}
}
public static void main(String[] args) throws IOException {
WordWriter lw=new WordWriter("a.txt");
lw.append("学习");
}
/**
* filename of the log file
*/
protected String filename;
/**
* the log file
*/
protected File file;
/**
* the file writer
*/
protected FileWriter fWriter;
/**
* the print writer (we can invoke function : println(String))
*/
protected PrintWriter pWriter;
/**
* Constructor
*
* @param filename the filename of the log
*
*/
public WordWriter(String filename) throws IOException{
this.filename = filename;
file = new File(filename);
}
/**
* append a new line to the log file, also output it to console
*
* @param log the string to write to file
*
*/
public synchronized void append(String log){
fWriter = null;
pWriter = null;
try{
fWriter = new FileWriter(file, true);
pWriter = new PrintWriter(fWriter);
// append to log file
pWriter.println(log);
// output it to console
System.out.println(log);
}catch (IOException e){
System.out.println ("Error Writing log file: " + e);
}finally{
try{
if (pWriter != null){
pWriter.close();
}
if (fWriter != null){
fWriter.close();
}
}catch (IOException e){}
}
}
/**
* Return the length of the log file
*
* @return the length of the log file
*
*/
public long getLength(){
return file.length();
}
/**
* append a new line to the log file, also output it to console
*
* @param obj the object to write to file
*
*/
public void append(Object obj) throws IOException{
append(obj.toString());
}
}