Ubuntu에 접속 하시거나, 화면에 바로 들어기신 다음에.

 

java 

 

엔터를 처보십시오.

 

우분투 정말 친절 하군요.

 

java 사용할 수있는 당야한 방법이 저게 나옵니다. 

 

우리는 

 

```

sudo apt-get install openjdk-8-jre-headless

```

 

라고 치겠습니다. ^^

 

그럼 글자가 쭉 올라가면서 설치가 진행 될 것입니다. 

 

java 엔터 치시거나

 

java -version 엔터 치시면 위 그림과 같이 나오면 설치가 완료 된 것입니다. 

 

저는 위에서 JDK 즉 Java Development Kit 를 설치한다고 했습니다. 

 

그래서 이번에는 

 

javac라고 쳐 보십시오.

 

앞에서 처럼 친절하게 알려 줍니다. 

 

```

sudo apt-get install openjdk-8-jdk-headless

```

 

중간에 jre 대신에 jdk를 넣어 주시면 됩니다. 

 

저도 설치하고 있습니다. 

 

잘따라오고 계시지요?

 

아까 처럼 javac 또는 javac -version 을 쳤을때 위 그림과 같이 나오면 

 

OpenJDK 8은 설치가 모두 끝났습니다. 

 

OpenJDK 9가 필요하신 분은 아래 글을 참조해 주십시오. 

 

ymmedia.tistory.com/195

 

우분투(Ubuntu)에 OpenJDK 9 설치하기(Install)

지금 제가 Virtual Box에 Ubuntu를 설치 해 둔 것이 Ubuntu 16.04 입니다. 거기에 설치해 보겠습니다. 우선 Ubuntu에 접속하고 위와 같이 java 엔터를 처보십시오. 우분투 정말 친절 하군요. java 사용할 수있��

ymmedia.tistory.com

감사합니다. 

지금 제가 Virtual Box에 Ubuntu를 설치 해 둔 것이 Ubuntu 16.04 입니다. 거기에 설치해 보겠습니다.

우선 Ubuntu에 접속하고 위와 같이

java

엔터를 처보십시오.

우분투 정말 친절 하군요.

java 사용할 수있는 당야한 방법이 저게 나옵니다.

우리는

sudo apt-get install openjdk-9-jre-headless

라고 치겠습니다. ^^

그럼 글자가 쭉 올라가면서 설치가 진행 될 것입니다.

java 엔터 치시거나

java -version 엔터 치시면 위 그림과 같이 나오면 설치가 완료 된 것입니다.

저는 위에서 JDK 즉 Java Development Kit 를 설치한다고 했습니다.

그래서 이번에는

javac라고 쳐 보십시오.

앞에서 처럼 친절하게 알려 줍니다.

sudo apt-get install open-jdk9-jdk-headless

중간에 jre 대신에 jdk를 넣어 주시면 됩니다.

저도 설치하고 있습니다.

잘따라오고 계시지요?

아까 처럼 javac 또는 javac -version 을 쳤을때 위 그림과 같이 나오면

OpenJDK는 설치가 모두 끝났습니다.

리눅스에서 Java를 공부하실 수도 있고,

리눅스에서 이제 WAS 서버를 운영하실 수도 있습니다.

Apache-Tomcat 같은 것을 설치해서요.

다음 글에서는 Apache-Tomcat을 설치해보겠습니다.

감사합니다.

오늘의 개발일지 2020년06월11일 Java 파일(File) 이동(Move) 시키기 예제(Example)

안녕하세요 가야태자(@talkit) 입니다. 오늘은 Java에서 파일을 이동 시키는 것에 대해서 알아보도록 하겠습니다.

참고 출처 : https://huskdoll.tistory.com/304

실제로, 제가 앞에서 작성한 프로그램을 분석을 끝냈습니다. 그런데 문제는 뒤에 저 파일에 대한 분석을 또해야 하는 문제가 발생을 했습니다. T.T

그래서 이번에는 로그에 Founded 를 넣어서 찾으면 그 풀 Path를 가지고 있게 만들었습니다.

저 URL의 예제는 파일을 이동 시키는 코드만 있습니다.

그런데, 제예제는 파일을 한줄씩 읽고, 읽을 파일을 분석해서 이동 시키는 에제 입니다.

우선 제가 원하는 파일을 제대로 이동 시키는지를 보기 위해서 출력만 하는 소스 입니다.

package kr.ymmedia.util;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class SearchDEMMove {

    static List<File> targetFiles = null;

    static String baseFile = "/data01/ICECWRF/logs/SearchDEMLAT.log";    //분석할 로그 파일
    public static void main( String[] args ) throws Exception
    {

            BufferedReader br = null;

            // 분석할 로그파일을 읽음.
            br = new BufferedReader(new FileReader(new File(baseFile)));



            String line = "";

            //각 파일의 한 라인씩 읽어들인다.
            while((line = br.readLine()) != null) {

                //lins 을 " : " 구분해서 이동 시킬 파일 찾기

                String[] arrText= line.split(":");

                if(!arrText[0].trim().equals("Processing")) {

                    System.out.println("move file : " + arrText[2]);

                }

            }
            br.close();
        }

}

한번 돌려 보도록 하겠습니다.

잘돌아 갑니다.

그리고, 이제 실제로 이동하는 코드를 짜봤습니다.

package kr.ymmedia.util;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class SearchDEMMove {

    static List<File> targetFiles = null;

    static String baseFile = "/data01/ICECWRF/logs/SearchDEMLAT.log";    //분석할 로그 파일
    static String targetFolder ="/data01/LIDAR/gj/result_process/";
    public static void main( String[] args ) throws Exception
    {

            BufferedReader br = null;

            // 분석할 로그파일을 읽음.
            br = new BufferedReader(new FileReader(new File(baseFile)));



            String line = "";

            // 날짜 형식을 String으로 혹은 String을 날짜 형식으로 변환하기 위한 포맷형식이다.
            DateFormat format = new SimpleDateFormat("yyyyMMddHHmmssSSS");

             // Calendar형식에서 날짜를 가져온다. 특이점은 Calendar가 singleton 형식이다.
             // Date 값을 가져와서 String으로 변환한다.
             String datestr = format.format(Calendar.getInstance().getTime());
            // 혹시나 해서 현재 시간의 폴더를 만들어서 넣습니다. 


            File dir = new File(targetFolder + "/" + datestr  + "/");
            // 중복 방지를 위해서 폴더를 생성 합니다. 
            if (!dir.exists()) { //폴더 없으면 폴더 생성
                dir.mkdirs();
            }

            //각 파일의 한 라인씩 읽어들인다.
            while((line = br.readLine()) != null) {

                //lins 을 " : " 구분해서 이동 시킬 파일 찾기

                String[] arrText= line.split(":");

                if(!arrText[0].trim().equals("Processing")) {
                    System.out.println(line);
                    System.out.println("move file : " + arrText[2]);
                    // 분석된 파일을 File로 읽어 드립니다.  
                    try{
                    File file = new File(arrText[2].trim());
                    //기존 파일명만 가져옵니다. 
                    String targetFileName = file.getName();

                    System.out.println(targetFolder + "/" + datestr  + "/"  + targetFileName);

                    // 실제로 이동 시킨는 코드 입니다. 

                       if(file.renameTo(new File(targetFolder + "/" + datestr  + "/"  + targetFileName))){ //파일 이동
                            //return filePath; //성공시 성공 파일 경로 return
                        }else{
                            //return null;
                        }

                    }catch(Exception e){
                        e.printStackTrace();
                        // 파일이 없으면 오류를 뿌리기 while 문을 계속 합니다.
                        continue;
                    }



                }




            }
            br.close();
        }

}

그리고, 날짜 형식 관련 소스는 https://nowonbun.tistory.com/502 의 글을 참고 했습니다.

오늘은 여기 까지 입니다.

오늘도 즐거운 하루 되십시오.

감사합니다.

안녕하세요 가야태자(@talkit) 입니다.

오늘은 java에서 원하는 문자열을 찾는 프로그램을 짤일이 있어서 검색을 했습니다.

출처 : http://blog.naver.com/PostView.nhn?blogId=rararara00&logNo=80054434809&widgetTypeCall=true

일단 원본 프로그램은 위를 참고 했습니다.

아래는 제가 작성한 프로그램 입니다.

package kr.ymmedia.util;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

public class SearchDEM {

    static List<File> targetFiles = null;

    static String baseDir = "폴더위치";    //검색할 디렉토리
    static String word = "126.84,126.85,126.86,126.87,126.88,126.89,126.90";         //검색할단어를,로 구분해서 나열
    static String save = "저장위치/result";       //검색결과가 저장된 파일명
                                                                                         // 저장 위치는 미리 만들어 두셔야 합니다. 
                                                                                         // mkdir -p 저장위치

    public static void main( String[] args ) throws Exception
    {

        File Dir = new File(baseDir);
        File[] Files = Dir.listFiles();

        //읽어들일 파일 input stream 선언
        BufferedReader br = null;
        String[] words = word.split(",");
        for(int i = 0; i < Files.length; i++){

             //파일이 아닌 경우 continue
            if(!Files[i].isFile()) {
                continue;
            }

          //input stream object 생성
            br = new BufferedReader(new FileReader(Files[i]));
            String line = "";

          //저장할 파일 output stream 생성
            PrintWriter writer = new PrintWriter(new FileWriter(save+"_" + i +".txt"));

            //각 파일의 한 라인씩 읽어들인다.
            while((line = br.readLine()) != null) {


                //라인 내용중 검색하고자  단어가 하나라도 있으면 파일에 기록한다.

                for(int j=0; j<words.length;j++)
                if(line.indexOf(words[j]) != -1) {
                    //writer.write(word + "=" + Files[i].getAbsolutePath());
                    System.out.println(line.trim() + ":" + Files[i].getAbsolutePath());
                    writer.write(line.trim() + ":" + Files[i].getAbsolutePath());
                }
            }

            writer.flush();

            //input stream close.
            br.close();

            //output stream close.
            writer.close();
        }

    }

}

저는 실제로 엄청 많은 파일들 사이에서 원하는 위경도를 뽑아서 다른 파일에 적고 싶어서 이렇게 만들어 있습니다.

현재 보이는 파일은 경도만을 뽑아서 넣고 있습니다.

저기에 또 위도도 검색하는 프로그램이 추가 되면 공개해 보겠습니다.

감사합니다.

오늘도 즐거운 하루 되십시오.

+ Recent posts