2012-12-16 2 views
-1

jar 폴더 내의 리소스를 반복하는 방법은 무엇입니까?j2me의 폴더 내부 리소스를 반복합니다.

Image.createImage (name)을 여러 번하고 싶기 때문에 이름 목록 만 있으면됩니다. Connector.open (FileConnection)을 사용해야합니까? 루트에 액세스 할 수 없다면 그렇게 할 수 없으며, 최종 머신에서 내 응용 프로그램의 경로를 어떻게 알 수 있습니까?

이 솔루션은 J2ME에없는 클래스 로더를 제안한다, 더 이상 대답하지 않은 : (J2ME) How to get list of files/resources inside my jar app

사전에 감사!

+0

JAR 실행 클래스 패스에 파일의 위치를 ​​추가해야한다. –

+0

System.getProperty ("java.class.path")를 시도했습니다. 내 응용 프로그램이 서명되지 않았으므로 null을 반환합니다. 당신의 접근 방식을 무효로합니까? 내가 맞다면 내 항아리 앱 안에 이미지가 있다면 왜 외부 경로를 알아야할까요? 텍스트 파일을 사용하여 모든 이름을 넣을 수는 있지만 런타임에 파일이 만들어지면 이름이 없습니다. – Rodrigo

+0

질문에 -1이 왜 있는지 어떻게 알 수 있습니까? – Rodrigo

답변

0

음, 나는 바빅이 의미하는 바를 이해하지 못합니다. 나는 해결 방법을 발견했다. png 이미지의 이름을 가진 txt 파일을 만든다. 나는 여전히 항아리 안의 res 폴더를 반복하는 법을 모른다.

InputStream is = getClass().getResourceAsStream("/Aves/dir.txt"); 
    int ch, isp=0; 
    String l = ""; 
    do { 
    ch = is.read(); 
    if ((ch != 13) && (ch != 10)) { 
     l+=(char)ch; 
    } else { 
     if (ch == 13) { 
     Image Img1 = Image.createImage("/Aves/"+l); 
     sppW[isp] = Img1.getWidth(); 
     sppH[isp] = Img1.getHeight(); 
     Img1.getRGB(sppImg[isp], 0, Img1.getWidth(), 0, 0, Img1.getWidth(), Img1.getHeight()); 
     isp++; 
     l = ""; 
     } 
    } 
    } while (ch != -1);