Whiteship's Note

File.delete() 메소드의 리턴값이 false일 경우.

Java : 2008.03.07 19:54


다음 프리마커 매뉴얼에 나와있는 코드 입니다.

import freemarker.template.*;
import java.util.*;
import java.io.*;

public class Test {

    public static void main(String[] args) throws Exception {
       
        /* ------------------------------------------------------------------- */   
        /* You usually do it only once in the whole application life-cycle:    */   
   
        /* Create and adjust the configuration */
        Configuration cfg = new Configuration();
        cfg.setDirectoryForTemplateLoading(
                new File("/where/you/store/templates"));
        cfg.setObjectWrapper(new DefaultObjectWrapper());

        /* ------------------------------------------------------------------- */   
        /* You usually do these for many times in the application life-cycle:  */   
               
        /* Get or create a template */
        Template temp = cfg.getTemplate("test.ftl");

        /* Create a data-model */
        Map root = new HashMap();
        root.put("user", "Big Joe");
        Map latest = new HashMap();
        root.put("latestProduct", latest);
        latest.put("url", "products/greenmouse.html");
        latest.put("name", "green mouse");

        /* Merge data-model with template */
        Writer out = new OutputStreamWriter(System.out);
        temp.process(root, out);
        out.flush();
    }

위에서 사용한 Writer 대신에, FileWriter를 사용하면, 콘솔창에 출력하는 대신, 파일을 생성하도록 할 수 있습니다. 위 코드에서 Writer와 OuputStreamWriter가 아니라, FileWriter로 바꾸고 파일을 하나 만듭니다. 그 다음에 그 파일을 file.delete()를 사용해서 지우려고 하면... 지워 질까요?

안 지워집니다.(뭐... 가.끔.씩. 지워질 수도 있습니다. 아주 가.끔.씩.) 정답은.. 안 갈쳐 줍니다. 캬캬캬캬
top

TAG ,



: 1 : ··· : 58 : 59 : 60 : 61 : 62 : 63 : 64 : 65 : 66 : ··· : 140 :