파일을 업로드 동작을 구현하는 데 있어서,
추가로 업로드 되어야 하는 파일에 문자열 등을 넣어서 수정하고 싶은 경우,
File Writer 를 사용하여, 흔히 '이어쓰기' 라는 동작을 구현할 수 있습니다.
File f = new File("파일 경로");
FileWriter fw = new FileWriter(f, true); <- 2번째 인자의 boolean값이 true로 지정되면 해당 파일에 이어쓰기가 됩니다.
(반대로, 2번째 인자가 없거나 false로 지정된 경우는 덮어쓰기가 됩니다.)
fw.write("수정할 내용 등"); <- 수정할 내용이 이어쓰기가 됩니다.
fw.flush();
※주의 : 버퍼 사용시 주의해야 합니다. FileWriter 사용시 flush()를 꼭 사용해 주서야 합니다.
flush()를 사용해 주어야 실제 파일에 수정하라 내용이 이어쓰기 동작이 됩니다.
예시)
File f = new File("파일 경로");
System.out.println("파일의 존재 여부 : " + f.exists()); // boolean값 - 존재 유무 확인
System.out.println("파일의 크기" + f.length()); //단위 - 바이트
Long mdate = f.lastModified();
Date date = new Date(mdate);
System.out.println("파일의 마지막 수정 날자2 :" + date);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
System.out.println("파일의 마지막 수정 날자3 :" + sdf.format(date));
System.out.println("파일의 getParent :" + f.getParent()); //상위디렉토리
System.out.println("파일의 getAbsolutePath :" + f.getAbsolutePath()); // 절대경로
System.out.println("파일의 getCanonicalPath :" + f.getCanonicalPath());
System.out.println("파일의 getName :" + f.getName()); //파일명
System.out.println("파일의 isDirectory :" + f.isDirectory()); //booleanr값 - 디렉토리인지 확인
System.out.println("파일의 isFile :" + f.isFile()); //boolean값 - 파일인지 확인
/*파일 이어 쓰기 예제 1*/
try {
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(f, true));
String str = "이어쓰기할 내용입니다.";
bufferedWriter.newLine(); //칸 내림
bufferedWriter.write(str);
bufferedWriter.write("");
bufferedWriter.flush();
BufferedReader bufferedReader = new BufferedReader(new FileReader(f));
String data = "";
while((data = bufferedReader.readLine()) != null){
System.out.println(data);
}
bufferedReader.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}finally {
}
/**/
/*파일 이어쓰기 예제2*/
FileWriter fw = null;
try{
fw = new FileWriter(f, true);
fw.write("fw 테스트 입니다.");
fw.flush();
}catch(Exception e){
e.printStackTrace();
}finally {
try {
if(fw != null)
fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**/
'스마트웹앱콘텐츠전문가 > JAVA' 카테고리의 다른 글
자바 날짜(시간) 비교 (0) | 2018.05.24 |
---|---|
[날짜 비교]after (0) | 2018.04.23 |
현재 페이지 URL 가져오기 (0) | 2018.01.15 |
[IP관련]HOSTIP 구하기 (0) | 2017.09.12 |
[파일입출력]파일 클래스 (0) | 2017.09.12 |