public class VFS_common {
private static StaticUserAuthenticator auth = null;
private static FileSystemOptions opts = null;
static {
opts = new FileSystemOptions();
try {
DefaultFileSystemConfigBuilder.getInstance().setUserAuthenticator(opts, auth);
} catch (FileSystemException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void setUserAuthenticator(String domain ,String username,String password)
{
auth = new StaticUserAuthenticator(domain, username, password);
}
public static FileObject sourceFileObject(String IP,String filePath)
{
FileObject fo = null;
try {
fo = VFS.getManager().resolveFile("file:\\\\"+IP+filePath+"", opts);
} catch (FileSystemException e) {
e.printStackTrace();
}
return fo;
}
public static FileObject sourceFileObject(String serverFile)
{
FileObject fo = null;
try {
fo = VFS.getManager().resolveFile("file:\\\\"+serverFile+"", opts);
} catch (FileSystemException e) {
e.printStackTrace();
}
return fo;
}
public static FileObject destFileObject(String filePath)
{
FileObject fo = null;
try {
fo = VFS.getManager().resolveFile(filePath);
if (fo.exists() && fo.getType() == FileType.FOLDER)
fo = fo.resolveFile(fo.getName().getBaseName());
} catch (FileSystemException e) {
e.printStackTrace();
}
return fo;
}
/**
* download file from the file server
* @param source
* @param dest
*/
public static void copySourceTodest(FileObject source ,FileObject dest)
{
try {
dest.copyFrom(source, Selectors.SELECT_ALL);
} catch (FileSystemException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
finally{
try {
source.close();
dest.close();
} catch (FileSystemException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
} finally {
}
}
}
/**
* upload the file from eea to the file server
* @param source
* @param dest
*/
public static void copydestTosource(FileObject source ,FileObject dest)
{
try {
source.copyFrom(dest, Selectors.SELECT_ALL);
} catch (FileSystemException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
finally{
try {
source.close();
dest.close();
} catch (FileSystemException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
} finally {
}
}
}
public static void main(String[] args) throws Exception
{
long start = System.currentTimeMillis();
setUserAuthenticator(null,"user","user");
String ip = "192.168.1.16";
/*
String filePath ="\\eBooks\\outlook\\Outlook 2002 Inside Out.chm";
FileObject source= sourceFileObject(ip,filePath);
String path ="e:\\a.chm";
File file = new File(path);
FileObject dest = destFileObject(file.getAbsolutePath());
copySourceTodest(source,dest);
*/
String filePath ="e:\\dotnetfx.exe";
FileObject dest = destFileObject(filePath) ;
String path ="\\uploadzone\\dotnetfx1.exe";
FileObject source = sourceFileObject(ip,path);
copydestTosource(source,dest);
System.out.println((System.currentTimeMillis() - start)/1000);
}
}