2011-03-15 1 views
0

자동으로 생성 된 폴더를 비교하기 위해 작은 앱을 개발해야합니다. 폴더, 하위 폴더 및 파일 내용을 비교해야합니다. 문제는이 앱을 컴퓨터의 사용자가 직접 실행하여 변경 사항을 확인하거나 ANT 나이트 클럽과 함께 자동으로 실행해야한다는 것입니다. 첫 번째 경우 결과는 스윙 GUI에 테이블로 표시됩니다. 그러나 다른 경우에는 결과를 넣을 파일을 만들어야합니다 (형식은 XML, CSV, ...).GUI 및 CLI를 사용하여 Java App을 빌드하려면 어떻게해야합니까?

누구나 도움말 또는 자습서에 대한 링크가 있습니까?

답변

2

ui와 파일 내보내기간에 전환하는 몇 가지 명령 줄 옵션을 추가 할 수 있습니다. --gui 또는 --export=[filename]. 그것에 대해 Apache Commons CLI을 사용할 수 있습니다.

+1

GUI를 보여주는 것이 종종 그래픽 OS에 대해 기본적으로 나타나는 것처럼 나는 --export 방법으로 가고 싶습니다. args4j 또는 JCommander (http://jcommander.org/)도 선호합니다. 그러나 conceputally, 대답은 완벽하게 좋다. – Riduidel

+0

예 - 대상 파일을 지정하려는 경우 (형식이 고정되어 있거나 다른 매개 변수로 전달되었거나 파일 이름에서 유추 된 경우) '--export'가 필요합니다. 나는 JCommander를 모른다. 커맨드 라인 파싱 기능을 제공 하는가? – Thomas

+0

링크를 따라 가면됩니다 :-) args4j는 커먼즈 CLI 명령 행 구성보다 훨씬 간단한 주석을 사용하여 명령 행 구문 분석을 제공합니다. – Riduidel

0

다른 방법은 작업을 수행하는 클래스 집합을 만들고 값 집합을 반환하며이 값 집합을 디스크에 기록하거나 GUI에 표시 할 수 있습니다. 즉 엔진과 두 개의 프론트 엔드 (GUI 및 CLI)가 있습니다. 예를 들어

:

public interface DirectoryComparer { 
    CompareResult performCompare(Directory dir1, Directory dir2); 

    public static interface CompareResult { 
     //...things here that you need, such as, file or dir difference, etc 
     Iterable<File> getFileDiff(); 
     Iterable<Directory> getDirectoryDiff(); 
    } 
} 

다음의 GUI 클라이언트가 바로 결과를 표시하는 데 DirectoryComparer를 사용하고, CLI 클라이언트가 파일 또는 3이 결과를 기록합니다. 그러나이 두 클라이언트는 완전히 별개이며 별도로 관리 할 수 ​​있습니다.

관련 문제