1、实现原理:

通过输入流读取文件的内容,在通过输出流把读取到的内容输出到其他文件中,然后再读取结束后删除原来的文件就完成了文件的剪切。

1)首先在将要把文件剪切到的地方创建一个同一个类型的文件;

2)利用输入流读取原文件的内容;

3)在读取的过程中,把读取到的内容通过输出流写入到刚才创建的文件中;

4)在文件复制结束以后删除原文件既完成了文件的剪切。

2、代码实现(把桌面的一个jpg文件剪切到D盘中):

package copy;

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

public class CutFileTest {

	
	public static void main(String[] args) {
		File file1 = new File("C:\\Users\\Administrator\\Desktop\\a.jpg");
		File file2 = new File("D:\\a.jpg");
		//在程序结束时删除文件1
		file1.deleteOnExit();
		try {
			//在D盘创建文件2
			file2.createNewFile();
		} catch (IOException e) {
			e.printStackTrace();
		}
		cutFile(file1, file2);
	}
	public static void cutFile(File file1, File file2){
		FileOutputStream fileOutputStream = null;
		InputStream inputStream = null;
		byte[] bytes = new byte[1024];
		int temp = 0;
		try {
			inputStream = new FileInputStream(file1);
			fileOutputStream = new FileOutputStream(file2);
			while((temp = inputStream.read(bytes)) != -1){
				fileOutputStream.write(bytes, 0, temp);
				fileOutputStream.flush();
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}catch (IOException e) {
			e.printStackTrace();
		}finally{
			if (inputStream != null) {
				try {
					inputStream.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			if (fileOutputStream != null) {
				try {
					fileOutputStream.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		
	}
}