안녕하세요 가야태자(@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();
}
}
}
저는 실제로 엄청 많은 파일들 사이에서 원하는 위경도를 뽑아서 다른 파일에 적고 싶어서 이렇게 만들어 있습니다.
현재 보이는 파일은 경도만을 뽑아서 넣고 있습니다.
저기에 또 위도도 검색하는 프로그램이 추가 되면 공개해 보겠습니다.
감사합니다.
오늘도 즐거운 하루 되십시오.
'Java 프로그래밍' 카테고리의 다른 글
Java 예외 처리하기 try catch() finally() (0) | 2020.10.09 |
---|---|
Java sleep - 프로그램의 실행을 잠깐 멈춰보자. (0) | 2020.10.07 |
Java Random과 관련 하여. 원하는 범위로 값 만들기. (0) | 2020.09.29 |
Java 파일(File) 이동(Move) 시키기 예제(Example) (0) | 2020.06.12 |
Java 파일에서 정규식을 이용한 문자열 찾기 (0) | 2020.06.11 |