Задача: из Java-приложения получить доступ к локальному кешу WebStart приложений.
Зачем? постараюсь обяснить в последующих постах :)
Решение:
import com.sun.deploy.cache.Cache; import com.sun.deploy.cache.CacheEntry; import com.sun.javaws.jnl.LaunchDesc; import com.sun.javaws.jnl.LaunchDescFactory; import java.io.File; import java.util.Iterator; public class Main { public static void main(String[] args) throws Exception { Iterator jnlpIter = Cache.getJnlpCacheEntries(false); while (jnlpIter.hasNext()) { File jnlpFile = (File) jnlpIter.next(); File idxFile = new File(jnlpFile.getPath() + ".idx"); CacheEntry jnlpEntry = Cache.getCacheEntryFromFile(idxFile); if (jnlpEntry != null) { LaunchDesc desc = LaunchDescFactory.buildDescriptor(jnlpEntry.getDataFile()); /* ... */ } } } }