홈페이지에서 옮김. (2007.10.09 작성)

아래 게시물과 같이 먼저 import 할 것들
java.util.Scanner
java.lang.Runtime
java.lang.Exception
java.io.BufferedReader
java.io.InputStreamReader

try
{
    Process process = Runtime.getRuntime().exec("df -h");
    BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
    Scanner scanner = new Scanner(br);
    scanner.useDelimiter(System.getProperty("line.separator"));
    while(scanner.hasNext())
        out.println(scanner.next());
    scanner.close();
    br.close();
} catch(Exception e) {
    e.printStackTrace();
}

Process 클래스를 이용하여 시스템 명령어를 실행한다.
Runtime.getRuntime().exec("명령어")는 시스템 명령어를 수행하라는 코드이다.
이 코드는 실행 결과를 Process 객체로 리턴한다.
이 Process 객체는 InputStreamReader와 BufferedReader, Scanner를 이용하여 String으로 변환 가능하다.
Scanner scanner = new Scanner(br); 이하 부분은 아래 게시물과 같은 형태이다.

  1. Favicon of http://hello2world.tistory.com BlogIcon 안녕 하세요 2015.08.06 13:51 신고

    정말 감사합니다 ~~~

홈페이지에서 내용을 옮김. (2007.10.09 작성)

먼저 import 할 것들
java.io.File,java.io.FileNotFoundException,java.util.Scanner

아래는 코드
String file = "/proc/version";
try
{
    Scanner scanner = new Scanner(new File(file));
    scanner.useDelimiter(System.getProperty("line.separator"));
    while(scanner.hasNext())
        System.out.println(scanner.next());
    scanner.close();
} catch(FileNotFoundException e) {
    e.printStackTrace();
}

Scanner 클래스를 사용하여 파일을 읽는다.
scanner.useDelimiter(System.getProperty("line.separator")) 이 부분이 파일을 어떻게 읽을 것인지를 결정하는 부분이다.
line.separator를 지정하였기에 한줄씩 읽는다.
scanner.hasNext()를 호출하여 다음 줄이 있는지 판단하고 있으면 scanner.next()로 한 줄을 string으로 리턴한다.

실행환경
CentOS 5
tomcat 5.5.23 (yum으로 rpm 설치)
 
혹시나 java 홈페이지에서 최신 sdk를 받아서 설치하더라도 실제 tomcat은 기본 설치된 버전으로 실행된다.
따라서 최신의 java를 사용하기 위해서는 이 사항들을 변경해 주어야 한다.
 
/etc/alternatives 디렉토리를 살펴보면 java, javac, java_sdk 가 soft link 걸려 있는 것을 확인 할 수 있다.
이를 바꾸어 주어야 한다.
sdk 를 다운로드 받아 설치하면 /usr/java/jdk-1.6.0_02 (해당 버전을 받아 설치하였음) 에 설치가 된다.
이를 바꾸어 준다.
mv java java_
mv javac javac_
mv java_sdk java_sdk_
ln -s /usr/java/jdk-1.6.0_02/bin/java java
ln -s /usr/java/jdk-1.6.0_02/bin/javac javac
ln -s /usr/java/jdk-1.6.0_02 java_sdk
 
이렇게 하면 1.6 버전의 java를 사용할 수 있는 tomcat을 이용 가능하다.


추가 --
언제부터인지 모르겠는데 설치되는 폴더가 변경되었다.
기존에는 jdk-1.6.0_xx 형식이었으나 현재는 jdk1.6.0_xx 형식으로 변경되었다.
1.6의 update 13 버전을 기준으로 아래와 같이 작성하면 된다.

mv java java_
mv javac javac_
mv java_sdk java_sdk_
ln -s /usr/java/jdk1.6.0_13/bin/java java
ln -s /usr/java/jdk1.6.0_13/bin/javac javac
ln -s /usr/java/jdk1.6.0_13 java_sdk

+ Recent posts