본문으로 바로가기
반응형

JAVA 초보 개발자이면서 시스템을 운영하고 있다보니

내가 직접 툴을 만들어서 사용해야 편할때가 많다

고객불만이 올라오면 파일도 작성해야하고, DB 데이터 조회와 함께 수많은 엑셀작업/텍스트 작업을 필요로 한다

그러다보니 파일을 읽고 쓸 일이 상당히 많다

 

파일작업은 뭐니뭐니 해도 단순 텍스트파일을 가지고 작업하는게 가장 편한 느낌

TXT 파일을 읽어와 배열로 구분하고 특정텍스트 있는지 없는지 판단하고

특정 텍스트 치환하고

특정 텍스트 찾아서 새로운 파일로 작성하고 등등

 

아래는 가장 기본적인

PATH 의 파일을 읽어와 100줄이면 100줄, 1000줄이면 1000줄

STRING 배열로 리턴해주는 메소드이다

ArrayList로 받아와 그 list의 크기만큼 배열을 생성해 배열로 집어넣어서 리턴한다

list도 편하지만 간단한 작업에서는 array가 편할때도 많이 있다

list로 필요로 한다면 배열 변환을 하지 않고 ArrayList로 리턴하는 메소드로 변경하면 되겠다

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;

public class Fileinput {

	public String path;
	ArrayList<String> packet = new ArrayList<>();
	public String[] input_arr = new String[packet.size()];
	BufferedReader br = null;
	
	
	public String[] run(String path) {
		
			
			try {
				br = new BufferedReader(new FileReader(new File(path)));
				String s;
				
				while (( s = br.readLine()) != null) {
					packet.add(s);
				}
				input_arr = packet.toArray(input_arr);
				
				br.close();
			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} finally {
				if( br != null) {
					try {
						br.close();
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					
				}
			}
			
			return input_arr;
		
	}
	
}
반응형