How can I move the files on unix with java?

I write java in netbeans.I want to move files and create files.When I run the program on netbeans it works. Files creates and moved. But when I run program on the jar it doesnot copy or move. I give permisson jar and files for read , write. But it does not works.And I open jar with root user. how can i fix this?

this is my code to copy

package aaa;

import java.io.File;  
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class MoveFolder 
{
    public   int copy(String from,String where  )
    {   
        int onay=0;
        File srcFolder = new File(from);
        File destFolder = new File(where);

        //make sure source exists
        if(!srcFolder.exists()){

           System.out.println("Directory does not exist."); 
            onay = -1;
          // JOptionPane.showMessageDialog(null, "Directory does not exist.");

        }else{

           try{
            copyFolder(srcFolder,destFolder);
           }catch(IOException e){
            e.printStackTrace(); 
                onay = -1;
           //    JOptionPane.showMessageDialog(null, "Was not Copied.");
           }
        }

        System.out.println("Done");
         return onay;
    }

    public   void copyFolder(File src, File dest)
        throws IOException{


        if(src.isDirectory()){

            //if directory not exists, create it
            if(!dest.exists()){
               dest.mkdir();
               System.out.println("Directory copied from " 
                              + src + "  to " + dest);
          //          JOptionPane.showMessageDialog(null, "Directory copied from " + src + "  to " + dest);
            }

            //list all the directory contents
            String files[] = src.list();

            for (String file : files) {
               //construct the src and dest file structure
               File srcFile = new File(src, file);
               File destFile = new File(dest, file);
               //recursive copy
               copyFolder(srcFile,destFile);
            }

        }else{
            //if file, then copy it
            //Use bytes stream to support all file types

            InputStream in = new FileInputStream(src);
                OutputStream out = new FileOutputStream(dest); 



                byte[] buffer = new byte[1024];

                int length;
                //copy the file content in bytes 
                while ((length = in.read(buffer)) > 0){
                   out.write(buffer, 0, length);
                }

                in.close();
                out.close();
                System.out.println("File copied from " + src + " to " + dest);
         //       JOptionPane.showMessageDialog(null, "File copied from " + src + " to " + dest);
        }
    }

}

Answers


Why are you copying files with IO streams? Why not just do

File f; // bla bla init
File otherFile;
f.renameTo(otherFile);

Also, you need read and write permissions on the files you're trying to move (to), not on the jars you're executing ...


Need Your Help

PHP equivalent of friend or internal

php oop friend

Is there some equivalent of "friend" or "internal" in php? If not, is there any pattern to follow to achieve this behavior?

Divide an image into equal sized blocks using MATLAB and use Gabor filter

image matlab image-processing block

How to divide a facial image of size 120x120 into 64 blocks of 15x15 pixel size using MATLAB? Then I want to convolve each 15x15 block with Gabor filter. I failed in using the blkproc function.How...

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.