List of usage examples for org.apache.commons.compress.compressors.bzip2 BZip2CompressorInputStream read
public int read() throws IOException
From source file:de.indiplex.javapt.JavAPT.java
public void updateSources(boolean downloadSs) throws URISyntaxException, IOException, SQLException { Statement stat = db.getStat(); stat.executeUpdate("DELETE FROM packages;"); debs = new ArrayList<DEB>(); int last = 0; for (String u : sourcesURLs) { String pre = new URL(u).getHost(); File out = new File(dTemp, pre + ".source"); if (downloadSs) { URLConnection con = new URL(u.toString() + "Packages.bz2").openConnection(); File tmpOut = new File(dTemp, pre + ".source.bz2"); System.out.println("Downloading " + con.getURL() + "..."); download(con, tmpOut);/* w ww . j a va2 s .c om*/ System.out.println("Decompressing..."); CountingFileInputStream fis = new CountingFileInputStream(tmpOut); BZip2CompressorInputStream in = new BZip2CompressorInputStream(fis); Finish = tmpOut.length(); Util.checkFiles(out); OutputStream fout = new FileOutputStream(out); int i = in.read(); while (i != -1) { State = fis.getCount(); fout.write(i); i = in.read(); } fout.close(); in.close(); } BufferedReader br = new BufferedReader(new FileReader(out)); DEB deb = null; ArrayList<String> lines = new ArrayList<String>(); while (br.ready()) { String line = br.readLine(); lines.add(line); } Finish = lines.size(); State = 0; System.out.println("Parsing..."); for (String line : lines) { State++; if (line.startsWith("Package")) { if (deb != null) { debs.add(deb); } deb = new DEB(p(line)); } if (line.startsWith("Depends")) { if (deb == null) { continue; } deb.depends = p(line).trim(); deb.depends = deb.depends.replaceAll("\\({1}[^\\(]*\\)", ""); } if (line.startsWith("Provides")) { if (deb == null) { continue; } deb.provides = p(line); } if (line.startsWith("Filename")) { if (deb == null) { continue; } deb.filename = u + p(line); if (u.equals("http://apt.saurik.com/dists/ios/675.00/main/binary-iphoneos-arm/")) { deb.filename = "http://apt.saurik.com/" + p(line); } if (u.contains("apt.thebigboss")) { deb.filename = deb.filename.replace("dists/stable/main/binary-iphoneos-arm/", ""); } deb.filename = deb.filename.replace("http://", ""); deb.filename = deb.filename.replace("//", "/"); deb.filename = "http://" + deb.filename; } } System.out.println("Updated " + u + "! " + (debs.size() - last) + " packages found"); last = debs.size(); } PreparedStatement pstat = db .getPreparedStatement("INSERT INTO packages (name, depends, provides, filename) VALUES (?,?,?,?);"); for (DEB deb : debs) { pstat.setString(1, deb.packagename); pstat.setString(2, deb.depends); pstat.setString(3, deb.provides); pstat.setString(4, deb.filename); pstat.addBatch(); } db.closePS(); if (isGUI()) { mf.fillPackages(debs); } hashDEB(); }