먼저 메이븐을 다운로드 받는다.

http://maven.apache.org/download.cgi




윈도우와 리눅스용 둘다 설치 파일 형태가 아니므로 수동 설정해야한다.


다운로드 받은 파일을 적당한 경로에 압축을 해제한다. (여기서 적당한 경로는 바탕화면 이따위게 아니라.. 관리할 위치를 말한다.)


윈도우의 경우


M2_HOME을 하나 생성하고



생성한 M2_HOME을 이용하여 하위 디렉토리인 bin 폴더까지 path에 등록해 준다.



cmd 창을 열고 mvn -version 입력후 엔터





C:\Users\hana>mvn -version

Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T20:57:37+09:00)

Maven home: D:\app\apache-maven-3.3.3

Java version: 1.7.0_71, vendor: Oracle Corporation

Java home: C:\Program Files\Java\jre7

Default locale: ko_KR, platform encoding: MS949

OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"


C:\Users\hana>


이렇게 출력되면 정상 설치 된것


리눅스의 경우

1. 압축을 해제햇으면 그 다음부터는 환경 설정을 진행 합니다.

#> export M2_HOME=“/usr/local/maven”

#> export M2=$M2_HOME/bin

#> export MAVEN_OPTS=“-Xms256m –Xmx512m”

#> export PATH=$M2:$PATH

2.설정 잡았으니.. 설정값 갱신

#> export

3.위의 값이 잘 세팅되어 있다면, 이젠 maven 돌아가나 확인

#> mvn –version  


버전관련 메세지가 나오면 정상 설치된것


마이바티스 연동 설정이 완료가 되었으면

DB와 통신이 잘되는지 테스트를 해보도록 한다.


DB(오라클 기준)에서 SELECT 1 FROM DUAL 질의하여 1이라는 값을 가져오는 테스트를 진행한다.


1.먼저 STS를 이용하여 스프링 프로젝트를 생성했을 당시 자동으로 생성된 servlet-contex.xml을 수정


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:beans="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
 
    <!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure -->
    
    <!-- Enables the Spring MVC @Controller programming model -->
    <annotation-driven />
 
    <!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
    <resources mapping="/resources/**" location="/resources/" />
 
    <!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
    <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <beans:property name="prefix" value="/WEB-INF/views/" />
        <beans:property name="suffix" value=".jsp" />
    </beans:bean>
    
    <context:component-scan base-package="com.pkg.*" /> <-- 여기를 수정 -->
    
    
    
</beans:beans>
cs


본인의 패키지 구조에 맞게 끝부분을 * 로 설정하여 하위 모든 패키지가 톰켓 기동시 request mapping 될 수 있도록 설정한다. 

(난.. 기존에 있던 HomeController.java를 SampleController로 변경하여 사용하였다.)


자그럼 테스트를 위한 파일을 만들자.




 

 - 생성할 파일 목록 

 SampleController.java

 SampleDao.java

 SampleService.java


 SampleDao.xml


SampleController.java

SampleController.java


SampleController에서 보내질 jsp파일은 알아서 잘 만들도록 한다라고 하고싶지만 참고하도록 파일을 첨부하도록 했다.


sample.jsp


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package com.pkg.sample;
 
import java.text.DateFormat;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.Map;
 
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
 
/**
 * Handles requests for the application home page.
 */
@Controller
public class SampleController {
    
    private static final Logger logger = LoggerFactory.getLogger(SampleController.class);
    
    
    @Autowired
    private SampleService service;
    
    
    @RequestMapping(value = "/samplePage", method = {RequestMethod.GET, RequestMethod.POST})
    public String samplePage(Locale locale, Model model) {
        logger.info("#### Oracle Connection with mybatis test ");
        
        List<Map> tempData = this.service.oracleConnectionSample();
        
        model.addAttribute("tempDataList", tempData);
        return "sample";
    }
}
 
cs

SampleService.java를 생성하기 전 Service에서 공통으로 사용할 GeneralService.java를 생성하도록 하자 

GeneralService.java는 매번 Service마다 생성할 세션 객체(오라클 세션 객체) 구문을 공통적으로 사용하기 위해 생성한다.



 


 

GeneralService.java




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 
package com.pkg.common;
 
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
 
 
import org.apache.ibatis.session.SqlSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.stereotype.Service;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.multipart.MultipartFile;
 
 
/**
 * 서비스의 상위 클래스. 일반적이거나 공통적이 변수, 함수
 */
@Service
public class GeneralService {
 
    protected Logger logger = LoggerFactory.getLogger(this.getClass());
 
    public static final String DEFAULT_MESSAGE_OK = "정상적으로 처리하였습니다.";
    
    public static final String DEFAULT_MESSAGE_ERROR = "처리중 오류가 발생하였습니다!";
    
    public static final String DEFAULT_MESSAGE_ZERO_DATA = "조회된 데이터가 없습니다.";
 
    @Autowired
    protected SqlSession sqlSession;
    
 
    /**
     * 기본생성자
     */
    public GeneralService() {
    }
 
    /**
     * SQL세션객체 반환
     * @return  SQL세션객체
     */
    public SqlSession getSqlSession() {
        return this.sqlSession;
    }
}


SampleService.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package com.pkg.sample;
 
import java.util.List;
import java.util.Map;
 
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
 
import com.pkg.common.GeneralService;
 
@Service
public class SampleService extends GeneralService {
 
    static Logger logger = LoggerFactory.getLogger(SampleService.class);
 
    public List<Map> oracleConnectionSample() {
        List<Map> authlist = sqlSession.getMapper(SampleDao.class).oracleConnectionSample();
        return authlist;
    }
}
cs

SampleDao.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package com.pkg.sample;
 
import java.util.List;
import java.util.Map;
 
/**
 * 
 * Sample Dao
 * @author hana
 */
public interface SampleDao {
 
    public List<Map> oracleConnectionSample();
 
}
 
cs

SampleDao.xml

1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0 //EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 
<mapper namespace="com.pkg.sample.SampleDao">
    <select id="oracleConnectionSample" parameterType="HashMap" resultType="HashMap">
        SELECT 1 AS TEST_VALUE FROM DUAL
    </select>
    
</mapper
cs


주의!!

<mapper namespace="com.pkg.sample.SampleDao">

위 항목의 경로를 우리가 테스트 하고자 하는 DAO의 패키지 경로를 잘 맞춰 주어야 한다. 


각각의 파일을 해당위치에 만들었으면 테스트를 해보도록 하자


톰켓 시작



에러 없이 잘 떳다..

브라우저에서 테스트를 해본다.



JSP파일을 대충만들어 값이 저렇게 찍히긴 했는데 통신과는 성공한 것이다. 

JSTL에 대한 기록이 아니므로 저부분은 생략하도록 한다.


Part 03 까지 마이바티스 연동 관련하여 내용을 마친다. 



 다음은 JackSon JSON View를 이용한 MessageConverter에 관련된 내용을 작성해 볼 예정이다..(지금 말고.. 다음에..)






작업 개요 


1. root-context.xml 파일 설정 

- namespacse 설정

- 마이바티스 연동에 필요한 코드 작성

- 실행된 쿼리에 대한 로그 설정 

2. pom.xml 이용하여 추가 라이브러리 받기

- 작성된 pom.xml 제공

3. 마이바티스를 이요하여 커넥션 풀을 만들기 위한 접속정보 설정파일 properties로 관리

- 작성된 소스파일(properties) 제공 





1. root-context.xml 파일 설정 


해당 파일의 경로는 다음과 같다. 이클립스 단축키 ctrl + shift + r 을 이용하여 파일 이름으로 찾아도 된다.


해당 파일을 더블클릭하여 하단의 네임스페이스 탭을 클릭한 뒤 아래 그림과 동일하게 체크 한다.

이유는 앞으로 작성하 코드(xml tag)에 대한 사용을 할 수 있도록 해주는 역활 을 한다. 


위의 작업 을 완료 한 뒤 Source 탭을 클릭하면 다음과 유사한 형태의 내용일 것이다. (유사하다기 보다는 내용물이 없다)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:jdbc="http://www.springframework.org/schema/jdbc"
    xmlns:jee="http://www.springframework.org/schema/jee"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd
        http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">
    
    <!-- Root Context: defines shared resources visible to all other web components -->
    
   
</beans>
 
    
cs

모든 코드는 <beans> </beans> 사이에 작성하도록 한다. 

사실 글을 작성하다가 크롬이 먹통이 되어 재작성 하는 중이라 귀찮아서 완성된 첨부파일을 첨부하도록 하겠다. 

기존에 작성 한 글에는 각각의 코드별로 설명을 했는데.... 추후 이 글을 수정할 일이 있으면 그때(?) 추가하도록 하겠다.

(그래도 양심상 약간의 주석은 넣어놓았다..)


첨부파일 : 

root-context.xml




2. 메이븐을 이용한 라이브러리 추가 :

pom.xml

 




3. DB 접속 정보를 담고 있는 db.properties 파일을 생성한다. 해당 파일의 경로는 다음 그림을 참고 한다. 

 

 첨부 파일 : 

db.properties

















mybatis 설정 파일을 생성한다. 해당 파일의 경로는 다음과 같다.

mybatis-config.xml 파일은 구글링 할 경우 관련자료가 자세히 나오므로 설명을 생략하도록 하겠다.

 

 첨부파일 : 

mybatis-config.xml






스프링 최초 설치 시 자동 생성된 log4j.xml 파일을 다음의 내용으로 교체한다. 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
 
    <!-- Appenders -->
    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        <param name="Target" value="System.out" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%-5p: %c - %m%n" />
        </layout>
    </appender>
    
    <!-- Application Loggers -->
    <logger name="com.pkg.sample">
        <level value="info" />
    </logger>
    
    <!-- 3rdparty Loggers -->
    <logger name="org.springframework.core">
        <level value="info" />
    </logger>
    
    <logger name="org.springframework.beans">
        <level value="info" />
    </logger>
    
    <logger name="org.springframework.context">
        <level value="info" />
    </logger>
 
    <logger name="org.springframework.web">
        <level value="info" />
    </logger>
 
    <logger name="jdbc.sqlonly">
           <level value="debug" />
    </logger>
 
    <!-- Root Logger -->
    <root>
        <priority value="debug" />
        <appender-ref ref="console" />
    </root>
    
</log4j:configuration>
 
cs


log4j에 대한 설명은 추후 다른 카테고리에서 설명하도록 하겠다. 


설정은 완료된 것이며 테스트를 위한 작업은 다음 글에서 작성하도록 하겠다.

(아 빡침...글이 날라가다니...)












자 본격(?) 적으로 스프링 설정을 시작한다.


보통 일반적으로는 DB를 연동하여 스프링 프레임워크(이하 스프링) 를 사용하기 때문에 DB를 연동하기 위한 라이브러리인

Mybatis를 연동해보자..  Ibatis..? Mybatis...? 뭐가 다르지? 라고 할 수 있는데 그냥 쉽게 말하면 Mybatis가 신버전이다.


좀더 자세히 풀자면 Ibatis는 기존에 spring에 의존적인 성향이 강하여 스프링이 버전업 되지 못하면 Ibatis는 스프링의 버전업을 기다렸다가 버전업이 되었다. 이 상황에서 벗어나고자 하여 나온것이 Mybatis.. (뭐 이런 스토리를 몰라도.. 설정에는 문제가 없...)


자 진짜.. 시작한다..


Maven을 이용하여 라이브러리를 추가하도록 하자. Maven에 대해서 설명하자면 갈길이 너무 멀으니.. 그냥 따라한다.

pom.xml 파일이 있다.






더블클릭하여 내용물을 보자.. 뭔지 모르겠다.. 라고 하시는분은 그냥 다음을 따라한다.




하단의 Pom.xml을 클릭하면 아래와 같이 나온다. 



dependency가 몰려있는곳 아무곳에 아래의 코드를 추가한다.

그림이라 복사 안될까봐 복사 가능한 텍스트르 추가로 넣었음

1
2
3
4
5
6
7
8
9
10
11
        <!-- myBatis -->        
        <dependency>
         <groupId>org.mybatis</groupId>
         <artifactId>mybatis</artifactId>
         <version>3.0.6</version>
         </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.0.2</version>
        </dependency>
cs

자그럼 라이브러리가 추가 된다. 빠밤..!? - 라이브러리의 추가됨은 Maven Dependencies 트리에서 추가된 라이브러리 중 Mybatis 어쩌고가 있음 된다.(메이븐이 없으면 찾아서 복사해서 넣어주어야 하는 수고가 필요하다.)

 


글쓰기 지겨워서 나머지는 PART 02 에.....







전에 설치한 스프링 프레임워크에 톰켓을 달아주도록 하자.( 톰켓에 스프링을 담는다고 해야 맞는거 같음 ㄷㄷ)


단, 톰켓이 이클립스에 런타임으로 등록되어 있다는 가정하에 작성되었음


1. 서버 탭에서 클릭




2. Apache > Tomcat 을 고르고 (7.0을 기준으로 작성함 : 버전에 따른 별 차이는 없음)


3. 런타임(톰켓)이 설정되어있다는 가정하에 만든 프로젝트를 선택하고 Add 클릭



4. 서버 생성 완료!.

   만들어진 서버를 더블클릭하여 server설정 변경



5. 서버 설정 변경 화면에서 포트를 바꿔도되고 (8080을 80으로 바꾸면 테스트스 포트번호를 안써도 된다.)

   하단의 Modules를 클릭하자


6.그림에서 보이는 sample을 선택하고 Edit 를 눌러서 


7. /sample 을 /  로 변경하자.




8. 브라우저를 열고 localhost:8080 해서 화면이 열리면( 그전에 서버를 시작해야한다. )

   근데 화면은 뜨는데 한글이 깨진다.(쓰읍.. )


9. home.jsp 파일을 열어서 


    <%@ page contentType = "text/html;charset=utf-8" %>


    추가


10. 이제 한글도 안깨지고 잘나온다. 기본적인 스프링 사용에 대한 설정이 완료 되었다. (이제 시작이다.)


다음엔 마이바티스 연동을 해보자..





이놈의 스프링 셋팅은 어째 할때마다 댓다가 안댓다가 하는것인가..


같은실수를 반복하는 불안정한 뇌를 보조하기 위하여 Spring Framework 셋팅 방법을 적어보도록 한다.


※ 이클립스에 STS Plug-in이 설치 되었고 메이븐을 이용하는 가정하에 작성되었음


1. 프로젝트 만들기 







자 여기까지 따라 했다면 스프링 프레임워크가 만들어졌다.



 

 

오늘은 와이프님의 부탁으로 영문만 뽑아내는 자바 프로그램을 만들어 보았다 -_-

 

 

package expTest.com.exp.test;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ExpTestClass {

public static void main(String[] args) {
      Pattern nonValidPattern = Pattern.compile("[a-zA-Z]");

String str = "1234 @#$@#$@#abc123123ZZZZZZZZ1231312313";
Matcher matcher = nonValidPattern.matcher(str);
String result = ""; 
  
while (matcher.find()) {
    result += matcher.group(); 
}

 
           System.out.println(result);
        }

}

 

배워서 남주는것이 아니다 마누라 주는것이다 ㄷㄷㄷㄷ

1. SDK 다운로드

http://aws.amazon.com/jp/sdkforjava/에서 AWS SDK(Java)를 다운로드 한다.


2. aws-java-sdk-1.8.7.zip 내용

- documentation,lib,LICENSE.txt,NOTICE.txt,README.html,samples,third-party

      - lib와 third-party 안에 있는 모든 jar 파일을 이클립스의 라이브러리에 추가

- samples 은 S3 관련 샘플 소스가 있다.

AmazonS3,AmazonS3TransferProgress 

1. SDK 다운로드

http://aws.amazon.com/jp/sdkforjava/에서 AWS SDK(Java)를 다운로드 한다.


2. aws-java-sdk-1.8.7.zip 내용

- documentation,lib,LICENSE.txt,NOTICE.txt,README.html,samples,third-party

      - lib와 third-party 안에 있는 모든 jar 파일을 이클립스의 라이브러리에 추가

- samples 은 S3 관련 샘플 소스가 있다.

AmazonS3,AmazonS3TransferProgress 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Writer;
 
import com.amazonaws.AmazonClientException;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3Client;
import com.amazonaws.services.s3.model.CannedAccessControlList;
import com.amazonaws.services.s3.model.GetObjectRequest;
import com.amazonaws.services.s3.model.PutObjectRequest;
import com.amazonaws.services.s3.model.S3Object;
 
public class S3Sample {
 
    public static void main(String[] args) throws IOException {
        String AWS_BUCKETNAME = "your_bucketname";
        String AWS_ACCESS_KEY = "your_AWS_ACCESS_KEY";
        String AWS_SECRET_KEY = "your_ AWS_SECRET_KEY";
        String file_path = "test/;"// 폴더명
        String file_name = "test.txt"// 파일명 
 
        AWSCredentials credentials = new BasicAWSCredentials(AWS_ACCESS_KEY, AWS_SECRET_KEY);
        AmazonS3 s3 = new AmazonS3Client(credentials);
       
        try {
            // 파일 업로드 부분 파일 이름과 경로를 동시에 넣어줌.
             PutObjectRequest putObjectRequest = new PutObjectRequest(AWS_BUCKETNAME, file_path+file_name, createSampleFile());
             putObjectRequest.setCannedAcl(CannedAccessControlList.PublicRead); // URL 접근시 권한 읽을수 있도록 설정.
             s3.putObject(putObjectRequest);
             System.out.println("Uploadinf OK");
             
             // 파일 다운로드 다운로드 경로와 파일이름 동시 필요. 
             System.out.println("Downloading an object");
             S3Object object = s3.getObject(new GetObjectRequest(AWS_BUCKETNAME, file_path+file_name));
             System.out.println("Content-Type: "  + object.getObjectMetadata().getContentType());
             displayTextInputStream(object.getObjectContent());
             
             
             
        } catch (AmazonServiceException ase) {
            System.out.println("Caught an AmazonServiceException, which means your request made it "
                    + "to Amazon S3, but was rejected with an error response for some reason.");
            System.out.println("Error Message:    " + ase.getMessage());
            System.out.println("HTTP Status Code: " + ase.getStatusCode());
            System.out.println("AWS Error Code:   " + ase.getErrorCode());
            System.out.println("Error Type:       " + ase.getErrorType());
            System.out.println("Request ID:       " + ase.getRequestId());
        } catch (AmazonClientException ace) {
            System.out.println("Caught an AmazonClientException, which means the client encountered "
                    + "a serious internal problem while trying to communicate with S3, "
                    + "such as not being able to access the network.");
            System.out.println("Error Message: " + ace.getMessage());
        }
    }
 
    private static File createSampleFile() throws IOException {
        File file = File.createTempFile("aws-java-sdk-"".txt");
        file.deleteOnExit();
 
        Writer writer = new OutputStreamWriter(new FileOutputStream(file));
        writer.write("파일테스트하기\n");
        writer.close();
 
        return file;
    }
 
    @SuppressWarnings("unused")
    private static void displayTextInputStream(InputStream input) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(input));
        while (true) {
            String line = reader.readLine();
            if (line == nullbreak;
 
            System.out.println("    " + line);
        }
        System.out.println();
    }
}
cs

+ Recent posts