-
JAVA - 읽어온파일(file) split하기Java/JAVA 2023. 10. 12. 10:24반응형
이번에는 읽어온 파일들을 split하여 데이터 가공하는법이다.
특정 전화번호를 설정하여 해당 전화번호가 우리가 불러온 파일 내부에 존재하는지를 확인하는 예제이다.
파일 읽어오기에 관한 글은 아래의 글을 참고하자.
https://jay-cheol.tistory.com/203
JAVA - txt파일불러오기,읽어오기,출력하기
1. 파일불러오기 / 2. 파일 읽어오기 / 3. 파일 출력하기 파일불러오기 import java.io.File; File note = new File("C:\\Users"); 파일이 위치한 경로를 입력해주면된다. 파일 읽어오기 BufferedReader br = new BufferedRead
jay-cheol.tistory.com
결과값, 전화번호 클래스 생성
class response { private String PhoneNumber; private String ResultCode; public String getPhoneNumber() { return PhoneNumber; } public void setPhoneNumber(String phoneNumber) { PhoneNumber = phoneNumber; } public String getResultCode() { return ResultCode; } public void setResultCode(String resultCode) { ResultCode = resultCode; } }
불어온파일 split하기
public static void main(String[] args) throws IOException { response rp = new response(); rp.setPhoneNumber("010"); String Local = rp.getPhoneNumber(); System.out.println("rp.PhoneNumber ==>" + rp.getPhoneNumber()); ArrayList<String> P_list = new ArrayList<String>(); // 값을 담을 array File note = new File("C:\\Users\\skyjo\\OneDrive\\문서\\example1.txt"); try { BufferedReader br = new BufferedReader(new FileReader(note)); String[] str = br.readLine().split(","); while(str != null){ P_list.add(str[0]); str = br.readLine().split(","); } br.close(); } catch (NullPointerException e) { e.getStackTrace(); } catch (FileNotFoundException e) { System.out.println("파일이 존재하지 않음"); rp.setResultCode("X"); e.getStackTrace(); } catch (IOException e) { e.getStackTrace(); }
우선 생성한 response클래스의 값이 010이라고 가정한다. 해당 값을 get을 통해 Local이라는 변수에 저장한다.
우선 불러온 값을 담을 Array를 생성해주었다. PhoneList Array ==> P_list를 선언해주었고,
String[] str = br.readLine().split(",");
해당 파일을 한줄씩 불러오는데 ,를 기준으로 split하여 str에 다시 담아주었다.
while (str != null) { P_list.add(str[0]); str = br.readLine().split(","); }
str이 null이 아닐때까지 split된 값들을 기존에 생성한 p_list에 담아주었다.
} catch (FileNotFoundException e) { System.out.println("파일이 존재하지 않음"); rp.setResultCode("X"); e.getStackTrace();
그리고 위의 코드에서 만약 해당경로에 파일이 존재하지 않는다면 결과값 'X'의 값을 설정해주도록 하였다.
for (int i = 0; i < P_list.size(); i++) { if (P_list.get(i).equals(Local)) { rp.setResultCode("Y"); System.out.println("일치하는 경우 ResultCode ===> " + rp.getResultCode()); break; } else { rp.setResultCode("N"); } }
split된 값들이 모두 담긴 p_list를 for문을 이용하여 기존에 우리가 찾고자하던 phonumber와 일치하는 값이 있는지 확인한다. 값을 찾는다면 즉시 break하여 for문을 빠져나온다. 우리가 찾고자하는 핸드폰 번호가 있다면 결과값을 'Y' 없다면 결과값을 'N'으로 값을 주게한다.
example1.txt파일의 내용
test, test, 1111, 213123, 010,123, 111, 2222, 4444, 555
전체코드
package Level1; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; class response { private String PhoneNumber; private String ResultCode; public String getPhoneNumber() { return PhoneNumber; } public void setPhoneNumber(String phoneNumber) { PhoneNumber = phoneNumber; } public String getResultCode() { return ResultCode; } public void setResultCode(String resultCode) { ResultCode = resultCode; } } public class Example { public static void main(String[] args) throws IOException { response rp = new response(); rp.setPhoneNumber("010"); String Local = rp.getPhoneNumber(); System.out.println("rp.PhoneNumber ==>" + rp.getPhoneNumber()); ArrayList<String> P_list = new ArrayList<String>(); // 값을 담을 array File note = new File("C:\\Users\\skyjo\\OneDrive\\문서\\example1.txt"); try { BufferedReader br = new BufferedReader(new FileReader(note)); String[] str = br.readLine().split(","); while (str != null) { P_list.add(str[0]); str = br.readLine().split(","); } br.close(); } catch (NullPointerException e) { e.getStackTrace(); } catch (FileNotFoundException e) { System.out.println("파일이 존재하지 않음"); rp.setResultCode("X"); e.getStackTrace(); } catch (IOException e) { e.getStackTrace(); } for (int i = 0; i < P_list.size(); i++) { if (P_list.get(i).equals(Local)) { rp.setResultCode("Y"); System.out.println("일치하는 경우 ResultCode ===> " + rp.getResultCode()); break; } else { rp.setResultCode("N"); } } System.out.println("ResultCode ==>" + rp.getResultCode()); } }
=============실행결과==============
rp.PhoneNumber ==>010
일치하는 경우 ResultCode ===> Y
ResultCode ==>Y반응형'Java > JAVA' 카테고리의 다른 글
TransactionAspectSupport, PlatformTransactionManager , Rollback (0) 2024.09.13 JAVA - 모든 HTML태그 제거 (정규식) (0) 2024.09.12 Java - Map getOrDefault란? (0) 2023.10.16 Java - txt파일 줄바꿈기준 출력하기 (0) 2023.10.12 JAVA - txt파일불러오기,읽어오기,출력하기 (0) 2023.10.12