2015년 10월 3일 토요일

[java] mvc 컨트롤러에서 txt 파일 읽고 수정 하고 쓰기 소스

package controllers;

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";
}

}

댓글 없음:

댓글 쓰기

[lunux]리눅스 폴더별 용량 확인

리눅스 폴더별 용량 확인 조회 하고자 하는 디렉토리 리스트가있는 경로로 이동후 du -h --max-depth=1