import java.awt.Robot;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.HashMap;
import javax.servlet.http.HttpServletRequest;
import pageController.PageControl;
public class IndividualToTxtControl implements PageControl{
@Override
public String excute(HashMap objMap) {
String fileName = null;
HttpServletRequest request = (HttpServletRequest)objMap.get("request");
String filePath = (String)request.getServletContext().getAttribute("path");
FileReader fr = null;
BufferedReader br = null;
FileWriter fw = null;
String temp = null;
File I = null;
String index = ((Integer.parseInt(request.getParameterValues("btv")[0].split("번")[0]))-1)+"";
String text = null;
BufferedWriter bw = null;
/*
* 1단계: 해당 순서에 저장된 텍스트에서 내용을 읽어온다.
* 작성자: et
*/
fileName = filePath + "save_text_" + index+".txt";
try{
I = new File(fileName);
if(I.isFile()){
fr = new FileReader(fileName);
br = new BufferedReader(fr);
temp = br.readLine();
br.close();
fr.close();
/*
* 2단계: 읽어온 텍스트를 해당 인덱스 실행할 파일에 쓰기
* 작성자: et
*/
fileName = filePath + "text_" + index+".txt";
try{
fw = new FileWriter(new File(fileName), true) ;
fw.write(temp);
fw.flush();
fw.close();
}catch(Exception e){
e.printStackTrace();
}
/*
* 3단계: 스타트 활성
* 작성자: et
*/
fileName = filePath + "start.txt";
text = index+"N";
try{
fw = new FileWriter(new File(fileName), true) ;
fw.write(text);
fw.flush();
fw.close();
}catch(Exception e){
e.printStackTrace();
}
/*
* 4단계: 5초 딜레이
* 작성자: et
*/
try{
Robot robot = new Robot();
robot.delay(5000);
}catch(Exception e){
}
/*
* 5단계: 해당인덱스 파일 실행후 공백으로 처리
* 작성자: et
*/
/*fileName = filePath + "text_" + index+".txt";
String result="";
try {
br = new BufferedReader(new FileReader(new File(fileName)));
bw = new BufferedWriter(new FileWriter(new File(fileName)));
while((result = br.readLine()) != null) {
result = result.replace(temp, result);
bw.write(result + "\r\n");
bw.flush();
}
bw.close();
br.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}*/
/*
* 6단계: 스타트 비활성.
* 작성자: et
*/
fileName = filePath + "start.txt";
text = "start";
String result="";
try {
br = new BufferedReader(new FileReader(new File(fileName)));
bw = new BufferedWriter(new FileWriter(new File(fileName)));
while((result = br.readLine()) != null) {
result = result.replace(text, result);
bw.write(result + "\r\n");
bw.flush();
}
bw.close();
br.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}else{
}
}catch(Exception e){
e.printStackTrace();
}
return "redirect:./toView.do";
}
}
댓글 없음:
댓글 쓰기