import java.io.*;
import java.util.zip.*;
class ModuleInstaller
{
public ModuleInstaller() throws IOException {
new File("/mnt/user/tmpusb").mkdir();
Runtime.getRuntime().exec("mount -t vfat /dev/sdb1 /mnt/user/tmpusb");
}
public void extract(File module)
{
try
{
new File("/mnt/user/tmpmodule").mkdir();
String destinationName = "/mnt/user/tmpmodule/";
byte[] buf = new byte[1024];
ZipInputStream zipInputStream = null;
ZipEntry zipEntry;
zipInputStream = new ZipInputStream(new FileInputStream(module));
zipEntry = zipInputStream.getNextEntry();
while (zipEntry != null)
{
//for each entry to be extracted
String entryName = zipEntry.getName();
System.out.println("entryname "+entryName);
int n;
FileOutputStream fileOutputStream;
File newFile = new File(entryName);
String directory = newFile.getParent();
if(directory == null)
if(newFile.isDirectory())
break;
fileOutputStream = new FileOutputStream(
destinationName + entryName);
while ((n = zipInputStream.read(buf, 0, 1024)) > -1)
fileOutputStream.write(buf, 0, n);
fileOutputStream.close();
zipInputStream.closeEntry();
zipEntry = zipInputStream.getNextEntry();
}//while
zipInputStream.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
public File getModuleAvailable() {
File usb = new File("/mnt/user/tmpusb/modules");
if(!usb.exists()) {
System.out.println("Doesn't exist, yo!");
return null;
}
for(File i : usb.listFiles()) {
System.out.println(i.getName());
if(i.getName().endsWith(".module")) return i;
}
return null;
}
public void dispose() throws IOException {
Runtime.getRuntime().exec("umount /dev/sdb1");
new File("/mnt/user/tmpusb").delete();
}
}