Oct 19

You need to read all bytes from source stream to the destination. The read() method will return -1 when eof is reached, otherwise it returns the number of bytes read.


public static void copy(InputStream in, OutputStream out
   int bufferSize)
   throws IOException
{
   // Read bytes and write to destination until eof

   byte[] buf = new byte[bufferSize];
   int len = 0;
   while ((len = in.read(buf)) >= 0)
   {
      out.write(buf, 0, len);
   }
}

written by objects \\ tags: , , ,

Sep 23

Java does not provide a standard method to copy a file. To implement copying you need to read all bytes from source file and write to destination. The read() method will retuirn -1 when eof is reached, otherwise it returns the number of bytes read.


public static void copy(File source, File destination)
   throws IOException
{
   // Open file to be copied
   InputStream in = new FileInputStream(source);

   // And where to copy it to
   OutputStream out = new FileOutputStream(destination);

   // Read bytes and write to destination until eof

   byte[] buf = new byte[1024];
   int len = 0;
   while ((len = in.read(buf)) >= 0)
   {
      out.write(buf, 0, len);
   }

   // close both streams

   in.close();
   out.close();
}

written by objects \\ tags: ,