티스토리 뷰
문제==========================================================
구청별 폴더 내 검색
구청/2021/DATA/하수관번호/img/hole.js
폴더 지정해서 구청/2021/DATA/ 디렉토리 file[]
for()
1번째 하수관번호 검색
"구청/2021/DATA/ " + 디렉토리 file[i].getName() + "/img/hole.js"
파일을 읽어
json을 읽을 수 있는 라이브러리 GJosn
id를 뽑아
중복확인
메모리에 저장
set 1, 1, 1, 2, 3,2, 1,
1, 2, 3
전역 Set에 있는지 없는지 확인
있으면 출력
전역 Set에 저장
2번째 하수관번호 검색
"구청/2021/DATA/ " + 디렉토리 file[i].getName() + "/img/hole.js"
파일을 읽어
json을 읽을 수 있는 라이브러리 GJosn
id를 뽑아
중복확인
메모리에 저장
set 1,4, 5, 6,2, 3
1,2,3,4,5
전역 Set에 있는지 없는지 확인
있으면 출력
전역 Set에 저장
ex)
SB02/2021/DATA/1-1/img/hole.js <- json
읽어서 id를 찾아
ex) "id": "1-01-001A", -> 1-01-001A
1-01-002A
1-01-003A
구조체에 저장
구청내 중복되는 id 체크
중복이 되면 경로, id 출력
============================================================
hole.js 파일은 아래와 같은 형식으로 되어있는데,
이 json파일을 읽어서 키가 id인 데이터 값이 일치하는지 확인해야한다.
이때 Gson이라는 라이브러리를 이용했다.
hole.js 예시
{
"data": [
{
"minx": -227924.4980069133,
"radianz": -0.7425526552537474,
"height_top": 2318,
"maxx": -227900.1442984333,
"x": 197128.22,
"width": 12177,
"index": "000",
"y": 551865.242,
"z": 33.035,
"height_right": 1132,
"id": "1-01-001A",
"height_left": 1132
},
{
"minx": -227924.4980069133,
"radianz": -0.7425526552537474,
"height_top": 2318,
"maxx": -227900.1442984333,
"x": 197130.209,
"width": 12177,
"index": "000",
"y": 551863.711,
"z": 32.972,
"height_right": 1132,
"id": "1-01-002A",
"height_left": 1132
}
}
내가 짠 코드
package com.jwkim.testProject;
import java.io.File;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.stream.JsonReader;
public class JsonFileReader3 {
static HashSet<String> idSet1 = new HashSet<>();
static HashSet<String> idSet2 = new HashSet<>();
public static void main(String[] args) throws Exception{
/*
1. DATA폴더 하위의 하수관로 폴더 이름 읽기
2. 첫번째 하수관로의 hole.js 파일안에 id 값을 읽기
3. 읽어온 id 값을 구조체에 저장하댜
4. 구청내 중복되는 id값을 체크
5. 중복되면 경로와 id값을 출력
*/
System.out.println("JsonFileReader2");
// 1.
String filePath1_ = "E:\\20230117\\test\\SB04\\2021\\DATA\\";
String restPath = "\\img\\hole.js";
File idnPathList_ = new File(filePath1_);
String[] idnPathList = idnPathList_.list();
// 2.
for(int k=0; k<idnPathList.length; k++) {
String set1finalPath = filePath1_ + idnPathList[k] + restPath;
readData(set1finalPath);
dataInput(idSet1, idSet2);
for(int i=k; i<idnPathList.length; i++) {
if(k != i) {
System.out.println("==================");
System.out.println(idnPathList[k]);
System.out.println(idnPathList[i]);
System.out.println("==================");
String set2finalPath = filePath1_ + idnPathList[i] + restPath;
readData(set2finalPath);
overlapChk(idSet1, idSet2, set2finalPath);
}
}
}
}
// set2에 set1 데이터 넣기
private static void dataInput(HashSet<String> inputSet1, HashSet<String> inputSet2) throws Exception{
Iterator<String> itSet1 = inputSet1.iterator();
while(itSet1.hasNext()) {
String itSet1Data = itSet1.next();
inputSet2.add(itSet1Data);
}
}
// set1과 set2에 데이터가 겹치는게 있는지 찾기
private static void overlapChk(HashSet<String> inputSet1, HashSet<String> inputSet2, String finalPathOut) throws Exception{
Iterator<String> it2 = inputSet1.iterator();
while(it2.hasNext()) {
String test = it2.next();
if(inputSet2.contains(test)){ //set2값이 set1에 있는지 확인
System.out.println("중복데이터 있음 " + test + " " + finalPathOut);
}else {
System.out.println("중복데이터 없음");
}
}
}
// json을 읽어와서 set에 넣기
private static void readData(String finalPath) throws Exception{
// 여기부터 Gson
File file = new File(finalPath);
FileReader fr = new FileReader(file);
Gson gson = new GsonBuilder().setPrettyPrinting().create();
JsonReader jr = new JsonReader(fr);
Map<String, Object> map = gson.fromJson(jr, HashMap.class);
fr.close();
jr.close();
// 3.
idSet1.clear();
ArrayList<Map> list = (ArrayList<Map>) map.get("data");
for(int j=0; j<list.size(); j++) {
// id값을 set에 저장
idSet1.add(list.get(j).get("id").toString());
}
map.put("data", new ArrayList<Map>());
gson.toJson(map);
}
}
결과==========================================================
JsonFileReader2
==================
1-1
1-1-1
==================
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
중복데이터 없음
==================
1-1
1-2
==================
중복데이터 있음 1-01-050A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-030A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-042A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-010A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-054A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-022A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-034A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-035A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-003A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-047A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-015A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-027A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-039A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-007A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-019A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-051A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-031A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-043A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-011A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-055A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-023A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-024A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-036A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-004A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-048A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-016A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-028A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-008A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-040A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-052A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-020A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-032A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-044A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-012A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-056A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-057A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-025A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-037A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-005A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-049A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-017A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-029A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-009A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-041A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-053A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-021A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-033A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-001A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-045A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-002A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-046A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-014A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-058A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-026A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-038A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-006A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-018A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
==================
1-1-1
1-2
==================
중복데이터 있음 1-01-050A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-030A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-042A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-010A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-054A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-022A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-034A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-035A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-003A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-047A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-015A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-027A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-039A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-007A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-019A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-051A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-031A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-043A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-011A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-055A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-023A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-024A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-036A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-004A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-048A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-016A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-028A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-008A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-040A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-052A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-020A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-032A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-044A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-012A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-056A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-057A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-025A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-037A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-005A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-049A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-017A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-029A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-009A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-041A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-053A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-021A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-033A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-001A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-045A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-002A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-046A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-014A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-058A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-026A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-038A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-006A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
중복데이터 있음 1-01-018A E:\20230117\test\SB02\2021\DATA\1-2\img\hole.js
'끄적이기' 카테고리의 다른 글
[에러] 로컬에서는 잘 되는데 서버는 안돌아감 (0) | 2023.09.27 |
---|---|
TESTEST (0) | 2023.01.13 |
postgresql mysql (0) | 2023.01.10 |
오라클 (0) | 2023.01.10 |
flaticon (0) | 2022.12.29 |
- Total
- Today
- Yesterday
- 리눅스
- SVN
- CreateCell
- mybatisif
- createRow
- Postgresql12
- getCell
- Postgis
- apachepoi
- 공간데이터
- 엑셀POI
- 공간데이터병합
- 인터넷안되는환경에서설치
- jdbcType
- 폐쇄망에서패키지설치
- 부하측정
- Centos7에서 Postgresql12 설치
- yumrepository
- Some resources were not updated.
- OpenLayers
- su postgres 안됨
- Geoserver
- getRow
- 폐쇄망에서rpm설치
- setForceFormulaRecalculation
- shp2pgsql
- svn프로젝트불러오기
- 리눅스폐쇄망
- postgis 설치
- yumdownloader
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |