AbstractTextOperator.java
/*
* Package : diegoyun.work
* File : AbstractTextOperator.java
* Create by : diegoyun
* Create on : 2005-1-2 0:44:31
* ---------------------------
*/
package diegoyun.work;
import java.io.*;
import java.util.Properties;
public abstract class AbstractTextOperator {
protected BufferedReader txtReader = null;
protected PrintWriter txtWriter = null;
protected Properties property = null;
protected String in = null;
protected String out = null;
//-- init
protected void setTxtReader() {
try {
txtReader = new BufferedReader(new FileReader(in));
}
catch (Exception e) {
e.printStackTrace();
}
}
protected void createFile(){
File f = new File(out);
if(f.exists()){
f.delete();
}
try {
f.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
protected void setTxtWriter() {
try {
txtWriter = new PrintWriter(new BufferedWriter(new FileWriter(out)));
}
catch (IOException e) {
e.printStackTrace();
}
}
//-- abstract method
protected abstract String setTextInput();
protected abstract String setTextOutput();
protected abstract String lineOperation(String s);
//-- concrete operation
protected void doAction(){
in = setTextInput();
out = setTextOutput();
setTxtReader();
createFile();
setTxtWriter();
String s;
String t;
try{
while(( s = txtReader.readLine())!=null){
t = lineOperation(s);
txtWriter.println(t);
System.out.println("*****t is:" + t);
}
}
catch(IOException ioe){
ioe.printStackTrace();
}
txtWriter.close();
}
}
SimpleStringHandler.java
package diegoyun.work;
import java.io.IOException;
/**
* @author diegoyun
* @version 1.0
*/
public class SimpleStringHandler extends AbstractTextOperator {
protected String setTextInput() {
return "F://下载//input.txt";
}
protected String setTextOutput() {
return "F://下载//output.txt";
}
protected String lineOperation(String s) {
return s + "chenys";
}
public static void main(String[] args) {
AbstractTextOperator ato = new SimpleStringHandler();
ato.doAction();
}
}