본문 바로가기
Development/Java

getClass().getResource("/data/head.dat") vs getClass().getResourceAsStream("/data/head.dat")

by 버들도령 2019. 7. 9.
728x90

getClass().getResource("/data/head.dat") vs getClass().getResourceAsStream("/data/head.dat")

jar 파일에 묶여 있는 것이 아닌 디렉토리에서 파일을 읽을 경우.

▶ getClass().getResource("/data/head.dat")

 

        File file = new File(getClass().getResource("/data/head.dat").getPath());

        BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
        StringBuffer result = new StringBuffer();
        String tmp = reader.readLine();

        while (tmp != null)
        {
            result.append(tmp + "\n");
            tmp = reader.readLine();
        }

        reader.close();

 

        try {
            BufferedWriter output = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileName, continuousWrite)));
            output.write(content, 0, content.length());
            output.close();
        }
        catch (IOException exception) {
            System.out.println("saveTextFile: " + exception);
        }

 

일반 디렉토리이건, jar 파일과 같이 묶여 있는 파일에서건 해당 디렉토리에서 파일을 읽을 경우 모두 사용 가능.

 getClass().getResourceAsStream(("/data/head.dat") 

        InputStream inputStream =  getClass().getResourceAsStream(("/data/head.dat");

        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
        StringBuffer result = new StringBuffer();
        String tmp = reader.readLine();

        while (tmp != null)
        {
            result.append(tmp + "\n");
            tmp = reader.readLine();
        }

        reader.close();

728x90

댓글