/**
* FUSE-J: Java bindings for FUSE (Filesystem in Userspace by Miklos Szeredi (mszeredi@inf.bme.hu))
*
* Copyright (C) 2003 Peter Levart (peter@select-tech.si)
*
* This program can be distributed under the terms of the GNU LGPL.
* See the file COPYING.LIB
*/
package fuse.zipfs;
import fuse.FuseMount;
import fuse.staticfs.DirectoryNode;
import fuse.staticfs.MountpointNode;
import fuse.staticfs.StaticFilesystem;
import java.io.File;
import java.io.IOException;
public class MultiZipFilesystem extends StaticFilesystem
{
public MultiZipFilesystem(String args[], int offset) throws IOException
{
super(new DirectoryNode("$ROOT"));
DirectoryNode rootNode = getRootNode();
for (int i = offset; i < args.length; i++)
{
File zipFile = new File(args[i]);
rootNode.addChild(new MountpointNode(zipFile.getName(), new ZipFilesystem(zipFile)));
}
}
public static void main(String[] args)
{
if (args.length < 2)
{
System.out.println("Usage: MultiZipFilesystem mountpoint zipfile1 [zipfile2 ...]");
System.exit(-1);
}
String fuseArgs[] = new String[] { args[0] };
try
{
FuseMount.mount(fuseArgs, new MultiZipFilesystem(args, 1));
}
catch (Exception e)
{
e.printStackTrace();
}
}
}