시소당
/*
*
* File를 copy하자...
*/
public static void copyFile(String source, String dest, boolean bRemoveSource) throws IOException
{
FileInputStream fileInput = null;
FileOutputStream fileOutput = null;
boolean bCanWrite = false;
boolean bDeleted = false;
File fileSource = new File(source);
File fileDest = new File(dest);
long time = fileSource.lastModified();
try
{
fileInput = new FileInputStream(source);
fileOutput = new FileOutputStream(dest);
copyStream(fileInput, fileOutput);
}
finally
{
try
{
if (fileInput != null) fileInput.close();
}
catch (IOException e) {}
try
{
if (fileOutput != null)
fileOutput.close();
}
catch (IOException e) {}
}
fileInput.close();
fileOutput.close();
fileDest.setLastModified(time);
if (bRemoveSource == true)
{
bCanWrite = fileSource.canWrite();
if (bCanWrite)
{
bDeleted = fileSource.delete();
}
}
}
public static void copyStream(InputStream in, OutputStream out) throws IOException
{
synchronized (in)
{
synchronized (out)
{
byte[] buffer = new byte[1024];
while (true)
{
int bytesRead = in.read(buffer);
if (bytesRead == -1)
break;
out.write(buffer, 0, bytesRead);
}
}
}
}