Here you can find the source of copyFile(File orgFile, File dstFile)
Parameter | Description |
---|---|
orgFile | a parameter |
dstFile | a parameter |
public static void copyFile(File orgFile, File dstFile) throws Exception
//package com.java2s; /*/*from w w w .jav a2s .c om*/ * net/balusc/util/FileUtil.java * * Copyright (C) 2007 BalusC * * This program is free software: you can redistribute it and/or modify it under the terms of the * GNU Lesser General Public License as published by the Free Software Foundation, either version 3 * of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License along with this library. * If not, see <http://www.gnu.org/licenses/>. * http://balusc.blogspot.com/2008/02/uploading-files-with-jsf.html */ import java.io.BufferedOutputStream; import java.io.BufferedWriter; import java.io.ByteArrayInputStream; import java.io.CharArrayReader; import java.io.Closeable; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.Reader; import java.util.List; public class Main { private static final String LINE_SEPARATOR = System.getProperty("line.separator"); /** * Copy orgFile in dstFile * @param orgFile * @param dstFile */ public static void copyFile(File orgFile, File dstFile) throws Exception { InputStream is = new FileInputStream(orgFile); FileOutputStream fos = new FileOutputStream(dstFile); byte[] readData = new byte[1024]; int i = is.read(readData); while (i != -1) { fos.write(readData, 0, i); i = is.read(readData); } is.close(); fos.close(); } /** * Write byte array to file. If file already exists, it will be overwritten. * @param file The file where the given byte array have to be written to. * @param bytes The byte array which have to be written to the given file. * @throws IOException If writing file fails. */ public static void write(File file, byte[] bytes) throws IOException { write(file, new ByteArrayInputStream(bytes), false); } /** * Write byte array to file with option to append to file or not. If not, then any existing * file will be overwritten. * @param file The file where the given byte array have to be written to. * @param bytes The byte array which have to be written to the given file. * @param append Append to file? * @throws IOException If writing file fails. */ public static void write(File file, byte[] bytes, boolean append) throws IOException { write(file, new ByteArrayInputStream(bytes), append); } /** * Write byte inputstream to file. If file already exists, it will be overwritten.It's highly * recommended to feed the inputstream as BufferedInputStream or ByteArrayInputStream as those * are been automatically buffered. * @param file The file where the given byte inputstream have to be written to. * @param input The byte inputstream which have to be written to the given file. * @throws IOException If writing file fails. */ public static void write(File file, InputStream input) throws IOException { write(file, input, false); } /** * Write byte inputstream to file with option to append to file or not. If not, then any * existing file will be overwritten. It's highly recommended to feed the inputstream as * BufferedInputStream or ByteArrayInputStream as those are been automatically buffered. * @param file The file where the given byte inputstream have to be written to. * @param input The byte inputstream which have to be written to the given file. * @param append Append to file? * @throws IOException If writing file fails. */ public static void write(File file, InputStream input, boolean append) throws IOException { mkdirs(file); BufferedOutputStream output = null; try { output = new BufferedOutputStream(new FileOutputStream(file, append)); int data = -1; while ((data = input.read()) != -1) { output.write(data); } } finally { close(input, file); close(output, file); } } /** * Write character array to file. If file already exists, it will be overwritten. * @param file The file where the given character array have to be written to. * @param chars The character array which have to be written to the given file. * @throws IOException If writing file fails. */ public static void write(File file, char[] chars) throws IOException { write(file, new CharArrayReader(chars), false); } /** * Write character array to file with option to append to file or not. If not, then any * existing file will be overwritten. * @param file The file where the given character array have to be written to. * @param chars The character array which have to be written to the given file. * @param append Append to file? * @throws IOException If writing file fails. */ public static void write(File file, char[] chars, boolean append) throws IOException { write(file, new CharArrayReader(chars), append); } /** * Write string value to file. If file already exists, it will be overwritten. * @param file The file where the given string value have to be written to. * @param string The string value which have to be written to the given file. * @throws IOException If writing file fails. */ public static void write(File file, String string) throws IOException { write(file, new CharArrayReader(string.toCharArray()), false); } /** * Write string value to file with option to append to file or not. If not, then any existing * file will be overwritten. * @param file The file where the given string value have to be written to. * @param string The string value which have to be written to the given file. * @param append Append to file? * @throws IOException If writing file fails. */ public static void write(File file, String string, boolean append) throws IOException { write(file, new CharArrayReader(string.toCharArray()), append); } /** * Write character reader to file. If file already exists, it will be overwritten. It's highly * recommended to feed the reader as BufferedReader or CharArrayReader as those are been * automatically buffered. * @param file The file where the given character reader have to be written to. * @param reader The character reader which have to be written to the given file. * @throws IOException If writing file fails. */ public static void write(File file, Reader reader) throws IOException { write(file, reader, false); } /** * Write character reader to file with option to append to file or not. If not, then any * existing file will be overwritten. It's highly recommended to feed the reader as * BufferedReader or CharArrayReader as those are been automatically buffered. * @param file The file where the given character reader have to be written to. * @param reader The character reader which have to be written to the given file. * @param append Append to file? * @throws IOException If writing file fails. */ public static void write(File file, Reader reader, boolean append) throws IOException { mkdirs(file); BufferedWriter writer = null; try { writer = new BufferedWriter(new FileWriter(file, append)); int data = -1; while ((data = reader.read()) != -1) { writer.write(data); } } finally { close(reader, file); close(writer, file); } } /** * Write list of String records to file. If file already exists, it will be overwritten. * @param file The file where the given character reader have to be written to. * @param records The list of String records which have to be written to the given file. * @throws IOException If writing file fails. */ public static void write(File file, List<String> records) throws IOException { write(file, records, false); } /** * Write list of String records to file with option to append to file or not. If not, then any * existing file will be overwritten. * @param file The file where the given character reader have to be written to. * @param records The list of String records which have to be written to the given file. * @param append Append to file? * @throws IOException If writing file fails. */ public static void write(File file, List<String> records, boolean append) throws IOException { mkdirs(file); BufferedWriter writer = null; try { writer = new BufferedWriter(new FileWriter(file, append)); for (String record : records) { writer.write(record); writer.write(LINE_SEPARATOR); } } finally { close(writer, file); } } /** * Close the given I/O resource of the given file. * @param resource The I/O resource to be closed. * @param file The I/O resource's subject. */ private static void close(Closeable resource, File file) { if (resource != null) { try { resource.close(); } catch (IOException e) { String message = "Closing file " + file.getPath() + " failed."; // Do your thing with the exception and the message. Print it, log it or mail it. System.err.println(message); e.printStackTrace(); } } } /** * Check and create missing parent directories for the given file. * @param file The file to check and create the missing parent directories for. * @throws IOException If the given file is actually not a file or if creating parent * directories fails. */ private static void mkdirs(File file) throws IOException { if (file.exists() && !file.isFile()) { throw new IOException("File " + file.getPath() + " is actually not a file."); } File parentFile = file.getParentFile(); if (parentFile == null) parentFile = file.getAbsoluteFile().getParentFile(); if (!parentFile.exists() && !parentFile.mkdirs()) { throw new IOException("Creating directories " + parentFile.getPath() + " failed."); } } }