<%
//FileWrite.jsp
String appRoot = "/";
appRoot = pageContext.getServletContext().getRealPath(appRoot);
// 1. 파일을 쓰기 위해 File 객체를 생성
File newFile = new File(appRoot, "data/test.txt");
// 2. 파일이 존재할 디렉터리가 없는 경우라면
if ( !newFile.getParentFile().exists() )
{
// 파일이 위치할 곳까지의 디렉터리들을 생성
newFile.getParentFile().mkdirs();
}
// 3. 파일을 쓰기 위한 FileWriter 객체 생성
// -> 출력 스트림을 활용하여 파일에 내용을 기록
FileWriter fw = new FileWriter(newFile);
// 4. FileWriter 객체를 좀 더 편하게 사용하기 위해 PrintWriter 로 감싸줌
PrintWriter pw = new PrintWriter(fw);
// 5. 실질적으로 파일에 내용을 씀(기록)
System.out.println(appRoot);
pw.println("테스트이다!!");
pw.println("확인해보자");
// 5.1. PrintWriter 리소스 반납(닫아줌)
pw.close();
// 5.2 FileWiter 리소스 반납(닫아줌)
fw.close();
%>
<%
// FileRead.jsp
String appRoot = "/";
appRoot = pageContext.getServletContext().getRealPath(appRoot);
// 1. 파일을 읽기 위해 File 객체를 생성
File newFile = new File(appRoot, "data/test.txt");
// 2. 파일이 존재하는지의 여부 확인
// -> 지정된 경로에 파일이 존재하는지의 여부를 확인하여
// 존재하는 경우에만 처리하여 FileNotFoundException 방지
if(newFile.exists())
{
// 3-1 파일을 읽기 위한 FileReader 객체 생성
FileReader fr = new FileReader(newFile);
// 3-2 FileReader 객체를 좀 더 편하게 사용하기 위해
// BufferedReader 로 감싸기
BufferedReader br = new BufferedReader(fr);
// 4. 실질적으로 파일의 내용을 읽어냄
String readData;
while( (readData=br.readLine()) != null) // 라인별로 읽어들이는 기능 반복
{
out.println(readData + "<br>");
}
// 5-1. BufferedReader 리소스 반납(닫아줌)
br.close();
// 5-2 FileReader 리소스 반납(닫아줌)
fr.close();
}
else // 지정된 경로에 파일이 존재하지 않을 경우 처리
{
out.println("정상적으로 파일을 읽어들일 수 없습니다.");
}
%>
stop clean