mkngau
asked on
copy whole directory in java
Hi all,
I need to copy the whole directory(including all files inside the directory) to another directory using java. Can anyone help me on this?
The server I'm using is NT.
Thanks.
I need to copy the whole directory(including all files inside the directory) to another directory using java. Can anyone help me on this?
The server I'm using is NT.
Thanks.
ASKER
Hi objects,
How are you? Thanks for your previous help.
regarding your recommendation :
"If you don't need a x-platform solution it's probably a lot easier to use exec() to call the relevant
DOS command to do the copy."
Can you explain in detail how can I use exec()? Is it call from my java code?
Thanks.
How are you? Thanks for your previous help.
regarding your recommendation :
"If you don't need a x-platform solution it's probably a lot easier to use exec() to call the relevant
DOS command to do the copy."
Can you explain in detail how can I use exec()? Is it call from my java code?
Thanks.
Something like:
Process proc = Runtime.getRuntime().exec( "DIR" ) ;
BufferedInputStream is = new BufferedInputStream( proc.getInputStream() ) ;
byte[] buf = new byte[ 4096 ] ;
int cnt = 0 ;
String out = "" ;
while( ( cnt = is.read( buf, 0, 4096 ) ) != -1 )
{
out += new String( buf, 0, cnt ) ;
}
then the String "out" will be a directory listing...
Good luck,
Tim.
Process proc = Runtime.getRuntime().exec(
BufferedInputStream is = new BufferedInputStream( proc.getInputStream() ) ;
byte[] buf = new byte[ 4096 ] ;
int cnt = 0 ;
String out = "" ;
while( ( cnt = is.read( buf, 0, 4096 ) ) != -1 )
{
out += new String( buf, 0, cnt ) ;
}
then the String "out" will be a directory listing...
Good luck,
Tim.
why not use
new File("c:\\directory").list ();
I think java is the way to go.
my experience shows me, that using exec is something one need to avoid, because in most cases, it make the program not just platform dependent, but also COMPUTER dependent.
(ie - working on just one computer).
new File("c:\\directory").list
I think java is the way to go.
my experience shows me, that using exec is something one need to avoid, because in most cases, it make the program not just platform dependent, but also COMPUTER dependent.
(ie - working on just one computer).
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
// Execute native command
Process proc = Runtime.getRuntime().exec( "xxxx");
// Wait for command to finish
p.waitFor();
where xxxx is replaced by the DOS command to do the delete.
Process proc = Runtime.getRuntime().exec(
// Wait for command to finish
p.waitFor();
where xxxx is replaced by the DOS command to do the delete.
omry_y:
I will still need to go through to fully understand this, but this code just simply WORKS.
I only had to add a missing import for it, importing java.io.FileFilter for class header FileUtils.
Then, I was copying a folder over a network connection and it just worked fine.
Great code, thanks.
I will still need to go through to fully understand this, but this code just simply WORKS.
I only had to add a missing import for it, importing java.io.FileFilter for class header FileUtils.
Then, I was copying a folder over a network connection and it just worked fine.
Great code, thanks.
If you don't need a x-platform solution it's probably a lot easier to use exec() to call the relevant DOS command to do the copy.