double rnd = Math.random();

위코드는 0~1 사이 값을 렌덤으로 만들어 줍니다. 

 

제가 필요로 하는 것은 0~100000 사이 숫자를 random으로 만들어 주는 것이었습니다. 

 

import java.util.Random;

public class RandomTest {

	public static void main(args[]) {
    
    	Random rnd = new Random();
        
        //정수형을 리턴 할 것이기 때문에 nextInt()를 사용.
        
        int iRnd = rnd.nextInt(100000);
        
        System.out.println(iRnd);
    
    }

}

 

위와 같이 하면 Random 함수에서 원하는 값을 뽑을 수 있습니다. 

 

까먹지 말자는 취지에서 적습니다. 

 

참고 사이트 : securityspecialist.tistory.com/14

 

자바(JAVA) 랜덤(Random)값 사용 하기

랜덤값이란? 사용자가 임의적으로 값을 입력하는 것이 아니라 컴퓨터가 무작위로 값을 입력해 주는 것입니다. 자바에서 사용하는 랜덤값 이용방법을 알아보겠습니다. 자바에서 랜덤값을 이용��

securityspecialist.tistory.com

 

 

NCEP 재분석 자료 이미지 예제

 

저희 회사에서 많이 활용하는 자료 입니다. 

 

기상/기후에서 관측 자료로 사용하는 자료는 ASOS 라고 해서 종관기상관측소에서 얻은 데이터를 사용하고 있습니다. 

 

우리나라는 1973년 약 60개의 종관기상관측소를 시작으로 현재는 약 90개의 종관기상 관측소를 운영하고 있습니다. 

 

현재 data.kma.go.kr/data/grnd/selectAsosRltmList.do?pgmNo=36

 

기상자료개방포털[데이터:기상관측:지상:종관기상관측(ASOS)]

자료설명 종관기상관측이란 종관규모의 날씨를 파악하기 위하여 정해진 시각에 모든 관측소에서 같은 시각에 실시하는 지상관측을 말합니다. 종관규모는 일기도에 표현되어 있는 보통의 고기�

data.kma.go.kr

위 사이트를 확인 하면 약 102개의 스테인에 대한 데이터를 제공하고 있습니다. 

 

이러한 종관 기상 관측 자료는 지점 자료입니다. 

 

특정 위치에 대한 데이터가 존재 합니다. 

 

그런데 기상모델 자료는 GRID 자료 입니다. 

 

특정 지점을 비교하기 위해서는 ASOS 또는 AWS 자료를 이용하여 비교 검증을 진행 합니다. 

 

하지만, GRID 자료를 이용할때는 모델의 재분석 자료를 관측 자료로 활용 합니다. 

 

이러한 관측 자료 중에서 미국 기상청(NOAA) 산하 기관인 국가환경예보센터(National Centers for Environmental Predictions,이하  NCEP)에서 제공하는 재분석 자료 중의 하나가 NCEP-DOE Reanalysis II 자료 입니다. 

 

아래 네 종류의 자료를 제공하고 있습니다.

 

  • Pressure
  • Gaussian Grid
  • Spectral Coefficients Data
  • Surface Data

위 자료 중에서 저희는 Pressure 와 Surface Data 쪽을 다루어 봤습니다. 

 

차주 정도 부터 Pressure와 Surface Data에 대한 뭔가 결과물을 블로그에 올려 볼 생각 입니다. 

 

우선 Pressure 장은 아래의 레벨들을 제공하고 있습니다. 

  • 1000, 925, 850, 700, 600, 500, 400, 300, 250, 200, 150, 100, 70, 50, 30, 20, 10mb

그리고 해상도는 2.5도 x 2.5도로 약 250km 간격의 자료를 제공하고 있습니다. 

지도 영역은 전구를 제공하고 있습니다. 

 

또한 시간적으로 1979/01/01 ~ 2020/08/31 기간을 제공하고 있습니다. 

 

매월을 기준으로 제공하고 있기 때문에 10월이 되면 저 기간은 9월30일로 늘어 납니다. 

 

Surface 자료도 위의 자료를 제공하는 것은 동일하고, 

 

레벨을 단일장 레벨만 제공하고 있습니다. 

  • Surface or columnar total.

동아시아 기후 감시를 시작해 볼 계획인데, 이 때 저희들이 기초 자료로 NCEP RA II 자료를 사용할 계획입니다. 

 

기상 기후 자료에 대한 문의는 댓글을 남겨 주시면 답변드리겠습니다. 

 

감사합니다. 

 

참고문헌 : psl.noaa.gov/data/gridded/data.ncep.reanalysis2.html

 

NCEP-DOE AMIP-II Reanalysis (AKA Reanalysis 2): NOAA Physical Sciences Laboratory

 

psl.noaa.gov

 

 

'기상기후' 카테고리의 다른 글

기상/기후 분석을 위한 툴 소개 NCL  (0) 2020.09.21

제가 저렴하게 사용하고 있는 VPS에 Apache2를 설치하려고 합니다.

 

요즘 대세가 nginx 라고는 하지만, 저는 Apache2를 선호 합니다. 

 

정말 간단합니다. 

 

오늘 적을 글도 정말 간단 합니다. ^^

 

참 아래의 내용들은 root로 접속해서 실행 하셔야 합니다. 

 

일반 계정으로 접속하셨다면, 

 

0. su - 

root 권하는 획득하는 명령어 입니다. 

 

1. apt-get update

 

위 명령어로 최신 정보를 갱신합니다. 

 

2. apt-get install apache2 

 

apache2 서버를 설치 합니다. 

 

3. systemctl status apache2

 

설치 후 아파치 상태를 확인 합니다. 

 

몇가지 설정을 해줘야하겠지만, 저는 테스트라서 기본적인 상태로만 만족 합니다. 

 

설치 된 http://설치된ip 이렇게 치시면 Apache 화면이 보일 것입니다. 

 

그리고 시작 종료는 할 수 있으면 족합니다. ^^

 

4. 아파치 시작 

service apache2 start

 

5. 아파치 종료

service apache2 stop

 

그리고 좀 더 자세한 내용은 아래 출처에 잘 나와 있습니다. 

 

감사합니다. 

 

 

출처 :  lng1982.tistory.com/288

 

Apache2 설치 (Ubuntu 16.04)

설치 ubuntu 기본 소프트웨어 저장소에 사용할 수 있는 apache가 있다. 1. root 로그인 2. 패키지 관리 툴인 apt-get을 이용하여 apache2를 설치한다. (apache2 설치와 함께 의존하는 프로그램도 함께 설치된��

lng1982.tistory.com

 

 

NCL Web 사이트 그림

 

  저희가 잘 다루는 툴을 소개 합니다. 

 

기상/기후 자료를 분석하려면 자료 자체가 수치자료로 나타 납니다. 

 

이수치는 지점 연구를 하는 분이라면 분석을 잘 할 수 있겠지만, 

 

기상/기후에서 연구하는 분야는 전세계/주/국가/도시 등 면으로 이루어진 경우가 많습니다. 

 

이러한 경우에는 수치는 엄청나게 많은 데이터일 뿐입니다. 

 

하지만, 이 데이터를 이용해서 지도위에나 그래프 위에다가 데이터를 표시한다면, 연구자가 보기에 좋은 자료가 됩니다. 

 

이럴때 쓰는 툴이 많습니다. 

 

그중에서 2차원 그래픽의 경우는 NCL을 업계에서 많이 사용하고 있습니다. 

 

우선,  NCL은 NCAR Command Language 의 약자입니다. 

 

여기서, NCAR는 미국 국립 대기 연구소(the National Center for Atmospheric Research) 입니다.

 

미국에서는 기상학에 사용 되는 많은 소프트웨어들을 오픈소스로, 무료로 내놓고 있습니다. 

 

NCL이 처리할 수 있는 자료는

 

TXT, CSV, GRIB, GRIB2, NetCDF3/4, HDF4/5 

 

등 대부분의 기상 자료를 사용할 수 있습니다. 

 

www.ncl.ucar.edu/overview.shtml

 

NCL Overview

Overview of NCL Important: NCAR has made the decision to adopt Python as the scripting language platform of choice for future development of analysis and visualization tools. Please read this open letter to NCL users to understand what kind of impact this

www.ncl.ucar.edu

NCL의 웹 사이트는 위와 같습니다. 

 

현재 NCL의 최신 버전은 6.6.2 입니다. 

 

www.ncl.ucar.edu/Download/

 

Installing NCL

Installing NCL Version 6.6.2 is the current version NCL is available for MacOS, Linux, and Windows systems running the Windows 10 Linux subsystem. NCL V6.6.2 is not supported under Windows running Cygwin. NCL and NCAR Graphics are available as one package

www.ncl.ucar.edu

다운로드 할 수 있는 URL은 위와 같습니다. 

 

저희는 ncl을 이용해서 다양한 작업들을 하고 있습니다. 

 

업무에 필요하신 경우 ymmedia2020@gmail.com 으로 메일 주시면 답변 드리겠습니다. 

 

본 블로그에 댓글을 비밀글로 하고 남겨 주셔도 답변을 드릴 수 있습니다. 

 

감사합니다. 

'기상기후' 카테고리의 다른 글

NCEP-DOE Reanalysis/재분석 2 자료에 대하여.  (0) 2020.09.23

 

 

요즘 Node js를 작업을 하다 보니 글쓸 주제가 생기네요 ^^

Node JS에서 fs 패키지를 이용해서 파일을 다룹니다.

그런데, 파일에 텍스트 파일을 쓰는 것은 writeFile 함수를 사용하면 됩니다.

그런데 저 함수를 써서 파일을 작성하면 여러번 동일한 파일에 쓸때 맨 마지막 텍스만 저장 됩니다.

하지만, 루프를 통해서 같은 파일에 다른 데이터를 저장해야 할 경우도 있습니다.

그때 사용할 수 있는 명령어가 함수가 appendFile() 입니다.

실제로 사용하는 방법은 아래와 같습니다.

let fd;
try {
fd = fs.openSync('message.txt', 'a');
fs.appendFileSync(fd, 'data to append', 'utf8');
} catch (err) {
/* Handle the error */
} finally {
if (fd !== undefined)
fs.closeSync(fd);
}

출처 : stackoverflow.com/questions/3459476/how-to-append-to-a-file-in-node

https://nodejs.org/api/fs.html#fs_fs_appendfile_path_data_options_callback

[8월 전국평균기온 및 강수량 변화 (1973년 ~ 2020년)]

     

[평균기온 변화]

그림1. 1973년 ~ 2020년 8월 전국 평균기온

 

  • 기상청에서 전국 1973년부터 2020 년까지 연속해서 관측자료가 있는 60개 지점의 기상관측자료를 분석한 결과 2020년 8월 평균기온은 26.6평년(25.2)보다 1.4 높아 8월 평균기온 역대순위 6위를 기록하였다.

  • 8월기온의 장기변화 경향을 분석한 결과 평균기온 상승률은 0.24/10yr로 나타났다. (10년에 약 0.24도 상승)

  • 전국 모든 지역에서 기온이 상승한 가운데 전국 60개 관측지점 중 8월 기온상승률이 가장 높은 지역은 원주(0.49/10yr)로 나타났으며, 이어 청주(0.456/10yr), 수원(0.449/10yr) 등의 순이었다. 

 

[8월 평균기온 순위]

  • 가장 높았던 해의 순위

순위 년도 평균기온(℃)
1 2018 27.25
2 2013 27.18
3 1994 26.82
4 2010 26.81
5 2016 26.67

 

 

  • 가장 낮았던 해의 순위

순위 년도 평균기온 (℃)
1 1980 22.04
2 1993 22.11
3 1997 23.65
4 2014 23,73
5 1991 23.82

 

 

[강수량 변화]

그림2. 1973년 ~ 2020년 8월 전국 평균 강수량

 

  • 1973년부터 2020년까지 전국 60개 관측지점의 연강수량을 분석한 결과 2020년 8월 전국평균 강수량이 369.9mm로 평년(262.85mm)대비 151% 수준으로 8월 강수량 역대순위 6위를 기록하였다.

  • 8월 강수량의 장기변화경향을 보면 강수량변화율은 8.9mm/10yr씩 증가하는 경향을 보였다.

  • 지역별로 보면 특히 남원(25.7mm /10yr), 광주(24.2mm/10yr) 등의 경우 20mm / 10yr 이상의 증가율을 보였으며, 서울지역도 10mm/10yr의 증가율을 보이고 있다. 반면 강화(-22mm/10yr), 보령(-9.9mm/10yr), 대관령(-8.7mm/10yr) 등의 지역은 강수량이 감소하는 추세를 보였다.

 

[8월 강수량 순위]

  • 가장 많았던 해의 순위

순위 년도 평균 강수량 (mm)
1 2002 595.85
2 1998 453.37
3 1987 445.94
4 1995 426.35
5 2012 416.96

 

  • 가장 적었던 해의 순위

순위 년도 평균 강수량
1 2016 85.48
2 1988 98.88
3 2001 106.96
4 1975 111.9
5 2015 118.11

 

어제 한참을 삽질을 했습니다. 

 

node js에서 rs.readFile 함수로, 30만개정도의 파일 일어서 S3로 보내는 작업을 했습니다. 

 

그런데 중간에

 

Error: EMFILE: too many open files

 

위와 같은 오류가 났습니다. 

 

그래서 해결 책을 열심히 찾았습니다. 

 

보통은 fp 라고 하는데 node js 는 fd라고 한다는 것도 알게 되었고, 

 

node js fs 패키지를 많이 사용하는데 fs.readFile함수를 이용했을 때 많은 파일을 열면 이렇게 나옵니다. 

 

여기서 해결 방법은 출처에 있는 글 처럼 

 

node js graceful-fs 패키지를 이용하면 됩니다. 

 

fs=rqquire("fs")

를 

fs=rqquire("graceful-fs")

로 변경하고 동일 하게 사용하면 저 오류가 안납니다. 

 

감사합니다. 

 

출처 : https://stackoverflow.com/questions/49672964/nodejs-too-many-open-files-causes-an-error

오늘의 개발일지 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) 입니다. 오늘도 정규식을 구하기 위해서 다른 분 소스를 참고 했습니다.

출처 : https://offbyone.tistory.com/400

오늘 제가 찾아서 GIS에 넣고자하는 자료는

경도, 위도,높이

자료 형식이 위와 같이 되어 있습니다.

DEM 이라고 해서 디지털 수치 표고 자료 입니다.

저기서 제가 생각한 약 8km 반격의 위경도의 높이만을 찾아야해서 ^^

어제 작성한 프로그램으로 경도 값은 제가 필요 한 값으로 찾아 놓은 상태 입니다.

그런데, 위도 값도 어제 작성한 프로그램을 조금 수정해서 쓰려고 했는데 불행하게도 높이 자료가 35.으로 시작하는 값이 있어서 제가 원하는 위도가 아닌데 파일에 찍히는 것을 확인 했습니다. ^^

그래서 옛날 습관으로 찾은 것이 정규식입니다.

제가 정규식을 설명해도 좋겠지만,

위 주소에 정규식이 잘 정리 되어 있습니다.

단, 오늘 제가 작성한 정규식만 설명 드리겠습니다.

Pattern pattern = Pattern.compile("12[0-9]\\.[0-9]+," + words[j]);

12라는 숫자로 시작해서 한자의 숫자가오고 // 우리나라는 120도대의 경도에 위치해 있습니다.
그리고, 무조건 . 기호가 중간에 오고 그위에 숫자가 연속되다가 제가 입력한 35.14 정도의 값이 오면 파일에 적도록 구현 했습니다.

아래는 Full 소스 입니다.


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 SearchDEMLAT {

    static List<File> targetFiles = null;

    static String baseDir = "/data01/LIDAR/gj/result";    //검색할 디렉토리
    static String word = "35.14,35.15,35.16,35.17,35.18,35.19,35.20";         //검색할 단어
    static String save = "/data01/LIDAR/gj/result2/lat"; //검색결과가 저장된 파일명

    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 생성

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


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

                for(int j=0; j<words.length;j++) {
                    Pattern pattern = Pattern.compile("12[0-9]\\.[0-9]+," + words[j]);

                    Matcher matcher = pattern.matcher(line);

                    //if(line.startsWith("" + words[j])) {

                    if(matcher.find()) {

                        //writer.write(word + "=" + Files[i].getAbsolutePath());
                        //System.out.println(line.trim() + ":" + Files[i].getAbsolutePath());
                        message= message + line.trim() +"\n";
                        continue;

                    }else {
                        //System.out.println("");
                    }
                }
            }
            if(!message.equals("")) {
                System.out.println(i + " : Founded : " + Files[i].getAbsolutePath() );
                PrintWriter writer = new PrintWriter(new FileWriter(save+"_" + i +".txt"));
                writer.write(message);
                writer.flush();
                writer.close();
            }else {
                System.out.println(i + " : No results. : " + Files[i].getAbsolutePath() );
            }


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

            //output stream close.

        }






    }

}

예쁘지는 않지만 도움이 되셨으면 합니다.

감사합니다.

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

안녕하세요 가야태자(@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