2012-03-20 5 views
0

이미지 파일 (.jpg, .bmp, .png)을 읽는 Java 프로그램이 있고 클러스터링 알고리즘을 사용하여 해당 파일에 색인을 만듭니다. 그러나 문제는 색인을 생성 할 이미지 파일의 이름을 명시 적으로 제공해야 할 때마다 발생한다는 것입니다. 필자가 원하는 것은 필자의 리눅스 시스템에있는 모든 이미지를 자동으로 스캔하여 색인을 작성하는 코드이다. 나는 쉘 스크립트에 의해 가능하지만 여전히 그것을 얻지 못한다는 것을 발견했다.쉘 스크립트를 통해 Java 프로그램의 컴퓨터에서 이미지 파일 읽기

+0

스크립트 코드와 java 앱이 수행하는 매개 변수 - 어떻게 호출할까요 – Adrian

+0

무엇을 하시겠습니까? 쉘이 시스템의 모든 이미지로 여러 번 프로그램을 호출하도록하거나 Java 프로그램이 디스크를 스캔하여 모든 이미지를 찾도록하십시오. 지금까지 뭐 해봤 어? –

+0

질문을 편집하여 이미지 파일이 의미하는 것의 샘플, 생성 된 색인의 샘플 (또는 최소한 두 가지의 비 일반적인 설명)을 포함하십시오. 그런 다음 처리 과정에서 데이터가 어떻게 변경되는지 샘플을 확인해야합니다. 마지막으로 지금까지 시도한 코드 중 일부를 포함시켜야합니다. 화면의 약 50 줄 내에서 모두 잘 맞아야합니다. 지금은 Windows 디스크 이미지 또는 tif/jpeg 이미지 또는 ??? 같은 이미지 파일을 의미하는지는 알 수 없습니다. 그리고 파일의 내용 (내부) 또는 파일 이름에 의한 색인을 의미합니까? 행운을 빕니다. – shellter

답변

0

내가 이해 한 바로는 폴더의 일부 파일을 차례로 반복하는 Java 프로그램을 통해 * .sh 스크립트를 실행하고 싶습니까?

는이 같은 시도 유무 :

public void runCmd() throws IOException, InterruptedException { 
    String cmd = "/home_dir/./my_shell_script.sh"; 
    Runtime run = Runtime.getRuntime(); 
    Process pr = run.exec(cmd); 
    pr.waitFor(); 
} 

이 단지 당신이 할 필요가 무엇을 거친 아이디어를 제공합니다,하지만 당신은에 당신은 찾을 수 있습니다 요점

+0

하지만 이것은 cmd path에 할당 한 폴더 경로에서만 작동합니다 ... 전체 파일 시스템에서 이미지를 읽으려면 어떻게해야합니까 ?? – adi

+0

쉘에서와 같이 스크립트 문자열을 cmd 문자열에 추가하여 스크립트에 인수를 전달할 수 있습니다. 스크립트에 파일을 제공하면 파일 시스템의 모든 파일에 대해 작동합니다 – Molske

0

, 파이프를 출력을 얻을 당신의 프로그램 :

find \(-name "*.jpg" -or -name "*.png" \) -printf "%h/%f\n" | java YourProgram 

및 표준 입력에서 경로를 포함한 파일 이름을 읽고, (그들 중 누구도 개행 문자를 포함하지 않는 가정).

전체 파일 시스템에 대한

, 당신은 루트 디렉토리에서 시작합니다 : 프로그램에서 플랫폼 중립적 인 방식으로 파일을 검색하려면, 것를 구현하기 너무 열심히

find/... 

더 나은 솔루션, 그리고를 , 그리고 그것에게 단지 시작 경로를주는 것. Here is a good solution, 파일 유형 (jpg, png, bmp)에 필터 만 적용하면됩니다.

관련 문제