create account

오늘의 개발일지 2020년06월09일 Java 파일에서 원하는 문자열 찾기 by talkit

View this thread on: hive.blogpeakd.comecency.com
· @talkit ·
$0.54
오늘의 개발일지 2020년06월09일 Java 파일에서 원하는 문자열 찾기
![](https://cdn.steemitimages.com/DQmfXYzMTqGc3TEPGEdhvMLWZ3Cwy9JfGHv4KYiNdt5MfLc/image.png)

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

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

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

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

감사합니다. 

오늘도 즐거운 하루 되십시오.
👍  , , , , ,
properties (23)
authortalkit
permlink2020-06-09-java
categorykr
json_metadata{"tags":["kr","kr-dev","java"],"users":["talkit"],"image":["https://cdn.steemitimages.com/DQmfXYzMTqGc3TEPGEdhvMLWZ3Cwy9JfGHv4KYiNdt5MfLc/image.png"],"links":["http://blog.naver.com/PostView.nhn?blogId=rararara00&amp;logNo=80054434809&amp;widgetTypeCall=true"],"app":"hiveblog/0.1","format":"markdown"}
created2020-06-10 07:05:21
last_update2020-06-10 07:05:21
depth0
children0
last_payout2020-06-17 07:05:21
cashout_time1969-12-31 23:59:59
total_payout_value0.272 HBD
curator_payout_value0.270 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length2,626
author_reputation19,186,707,074,564
root_title"오늘의 개발일지 2020년06월09일 Java 파일에서 원하는 문자열 찾기"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id97,877,432
net_rshares1,731,430,072,999
author_curate_reward""
vote details (6)