/** * Rar画像ファイルスキャナ */ package jp.crwdev.app.container.rar; import java.io.File; import java.io.IOException; import com.github.junrar.Archive; import com.github.junrar.exception.RarException; import jp.crwdev.app.interfaces.IImageFileInfoList; import jp.crwdev.app.interfaces.IImageFileScanner; public class RarFileScanner implements IImageFileScanner { /** 入力Rarファイル */ private Archive mRarArchive; /** ファイルパス */ private String mFilePath; @Override public boolean open(String path) { if(path.contains(".rar")){ try { mRarArchive = new Archive(new File(path)); mFilePath = path; return true; } catch (IOException e) { e.printStackTrace(); } catch (RarException e) { e.printStackTrace(); } } return false; } @Override public IImageFileInfoList getImageFileInfoList() { return new RarImageFileInfoList(mRarArchive); } @Override public String getOpenFilePath() { return mFilePath; } @Override public void close() { if(mRarArchive != null){ try { mRarArchive.close(); } catch (IOException e) { e.printStackTrace(); } mRarArchive = null; } } }