package com.xtremelabs.robolectric.res; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStream; public class RawResourceLoader { private ResourceExtractor resourceExtractor; private File resourceDir; public RawResourceLoader(ResourceExtractor resourceExtractor, File resourceDir) { this.resourceExtractor = resourceExtractor; this.resourceDir = resourceDir; } public InputStream getValue(int resourceId) { String resourceFileName = resourceExtractor.getResourceName(resourceId); String resourceName = resourceFileName.substring("/raw".length()); File rawResourceDir = new File(resourceDir, "raw"); try { File[] files = rawResourceDir.listFiles(); for (int i = 0; i < files.length; i++) { File file = files[i]; String name = file.getName(); int dotIndex = name.indexOf("."); String fileBaseName = null; if (dotIndex >= 0) { fileBaseName = name.substring(0, dotIndex); } else { fileBaseName = name; } if (fileBaseName.equals(resourceName)) { return new FileInputStream(file); } } } catch (FileNotFoundException e) { return null; } return null; } }