2009-11-22 10 views
6

내 하나 이상의 속성 파일에있는 중복 키와 값을 알려주는 도구가 있습니다.속성 파일에서 중복 키와 값을 찾기위한 도구

+1

도구가 아니라 통합 테스트를 고려할 수 있습니다. 이상하게 들리지만 속성 파일 및 타사 번역 직원의 문제를 방지하기 위해 JUnit으로 작성했습니다. –

+0

간단하고 쉬운 방법. 구글에서 코드 프로 AnalytiX를 얻으십시오, 그것의 이클립스 플러그인. 코드를 감사하면 속성 파일에서 모든 중복 키를 찾을 수 있습니다. – SPD

+0

나는 몇 달 전에 그것을 발견했다. 당신의 코멘트에 감사합니다 :). –

답변

3

개미 작업, 리소스 파일의 집합에 중복 키의 존재 여부를 확인 RscBundleCheck이있다 :

http://rscbundlecheck.sourceforge.net/

이 빌드에 중복 된 속성에 대해 통합 할 수있는 간단한 방법이 될 것입니다 방법.

0

하나를 쓰는 것이 가장 쉽습니다. 각 파일 및 해당 파일의 각 속성에 대해 속성 키/값 쌍을 Map에 넣되 키가 아직지도에 없는지 확인한 후에해야합니다. 이 경우 파일 이름, 키 및 두 값을 인쇄하십시오.

+1

그래, 내가 그루비로 쓰고있어.하지만 재사용하고 만들면 더 좋다. –

1

기존 도구가 있는지 모르겠지만 짧은 자바 프로그램이나 스크립트를 작성해야 할 때 편안하게 사용할 수있는 언어로 작성해야합니다. 그런 다음 나중에 사용할 수도 있습니다.

빠른 구글 검색이는 GUI 도구와 그것을 할 것입니다 스크립트를 가지고 다음 http://www.javanb.com/netbeans/1/19793.html

을 얻었다.

+0

나도 발견했지만 너무 오래 된 것 같다 –

+2

너무 오래 되었습니까? 그게 무슨 뜻이야? 작동하면 지금 작동합니다. 아니면 속성 파일 형식이 언젠가 바뀌 었습니까? – jitter

0

IDE를 사용하는 경우 플러그인/기능 중에서 좋은 도구를 찾을 수 있습니다. 8 이상도 등록 정보 파일을 관리하고 중복 된 항목을 확인 할 수 있습니다

http://www.eclipseplugincentral.com/Web_Links-index-req-viewlink-cid-331.html

하게 IntelliJ IDEA :

Eclipse는 등록 정보 파일을 관리하는 ResourceBundle의 편집기 플러그인이 있습니다.

4
/** 
* Purpose: Properties doesn't detect duplicate keys. So this exists. 
* @author shaned 
*/ 
package com.naehas.tests.configs; 

import java.util.Properties; 

import org.apache.log4j.Logger; 

public class NaehasProperties extends Properties 
{ 
    private static final long serialVersionUID = 1L; 

    private static final Logger log    = Logger.getLogger(NaehasProperties.class); 

    public NaehasProperties() 
    { 
     super(); 
    } 

    /** 
    * @param defaults 
    */ 
    public NaehasProperties(Properties defaults) 
    { 
     super(defaults); 
    } 

    /** 
    * Overriding the HastTable put() so we can check for duplicates 
    * 
    */ 
    public synchronized Object put(Object key, Object value) 
    { 
     // Have we seen this key before? 
     // 
     if (get(key) != null) 
     { 
     StringBuffer message = new StringBuffer("Duplicate key found: " + key + " with value: " + value); 
     message.append(". Original value is: " + (String) get(key)); 

     log.error(message.toString()); 

     // Setting key to null will generate an exception and cause an exit. 
     // Can not change the signature by adding a throws as it's not compatible 
     // with HashTables put(). 
     // 
     // If you commented out this line, you will see all the occurrences of the duplicate key 
     // as the put will overwrite the past encounter. 
     // 
     key = null; 
     } 

     return super.put(key, value); 
    } 
} 
1

Netbeans에는 중복을 제거 할 수있는 sort line tools 플러그인이 있습니다. 속성이 하나 늘어서 있다면 완벽하게 작동합니다.

더욱이 속성을 정렬하면이 파일을 더 잘 읽을 수 있습니다.

관련 문제