java文件復制
㈠ 使用java語言如何實現快速文件復制
使用Java語言如何實現快速文件復制:
代碼:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
public class Test {
public static void main(String[] args){
long start = System.currentTimeMillis();
FileInputStream fileInputStream = null;
FileOutputStream fileOutputStream = null;
FileChannel inFileChannel = null;
FileChannel outFileChannel = null;
try {
fileInputStream = new FileInputStream(new File("C:\\from\\不是鬧著玩的.flv"));
fileOutputStream = new FileOutputStream(new File("C:\\to\\不是鬧著玩的.flv"));
inFileChannel = fileInputStream.getChannel();
outFileChannel = fileOutputStream.getChannel();
inFileChannel.transferTo(0, inFileChannel.size(), outFileChannel);//連接兩個通道,從in通道讀取數據寫入out通道。
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if(fileInputStream != null){
fileInputStream.close();
}
if(inFileChannel != null){
inFileChannel.close();
}
if(fileOutputStream != null){
fileOutputStream.close();
}
if(outFileChannel != null){
outFileChannel.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
long end = System.currentTimeMillis();
System.out.println("視頻文件從「from」文件夾復制到「to」文件需要" + (end - start) + "毫秒。");
}
}
㈡ java 將伺服器內的文件復制
你有FTPClient就比較好辦,假如你的兩台FTP伺服器分別為fs1和fs2
在本地開發代碼思路如下:
通過FTPClient連接上fs1,然後下載(可以循環批量下載)到本地伺服器,保存到一個臨時目錄。
下載完成後,FTPClient斷開與fs1的連接,記得必須logout。
本地伺服器通過FileInputStream將剛下載到臨時目錄的文件讀進來,得到一個List<File>集合。
通過FTPClient連接上fs2,循環List<File>集合,將文件上傳至fs2的特定目錄,然後清空臨時目錄,上傳完畢後,斷開fs2的連接,同樣必須logout。
㈢ 怎樣用Java復制一個文件到指定目錄
import java.io.*;
public class CopyFile {
public static void main(String[] args) {
try{
FileInputStream input=new FileInputStream("f:\\downloads\\kon.jpg");//可替換為任何路徑何和文件名
FileOutputStream output=new FileOutputStream("f:\\kon.jpg");//可替換為任何路徑何和文件名
int in=input.read();
while(in!=-1){
output.write(in);
in=input.read();
}
}catch (IOException e){
System.out.println(e.toString());
}
}
}
㈣ Java文件復制問題
如下修改
修改2
如果滿意,望採納,謝謝!
㈤ Java怎麼實現文件拷貝
工具/原料
一台配置了java環境的電腦
一款適合自己的開發集成環境,這里用的是eclipse Kepler
文件拷貝DEMO
1.首先,理清思路,然後我們再動手操作。
拷貝,有源文件,和目的文件。
如果原文件不存在,提示,報錯。
如果目的文件不存在,創建空文件並被覆蓋。
如果目的地址,也即目的路徑不存在,創建路徑。
拷貝,輸入流,輸出流,關閉流。
拷貝前輸出文件大小,計算拷貝大小,比較並核實。輸出。
㈥ 用java實現兩個文本文件的復制
import java.io.*;
public class ReadWriteFile{
public static void main(String [] args){
try{
File read = new File("c:\\test1.txt");
File write = new File("c:\\test2.txt");
BufferedReader br = new BufferedReader(new FileReadder(read));
BufferedWriter bw = new BufferedWriter(new FileWriter(write));
String temp =null;
temp=br.readLine();
while(temp!=null){
//寫文件,只適用與windows系統
bw.write(temp+"\r\n");
//繼續寫文件
temp = br.readLine();
}
bw.close();
br.close();
}catch(FileNotFoundException fe){
System.out.println(fe.getMessage());
fe.printStackTrace();
}catch(Exception e){
System.out.println(e.getMessage());
e.printStackTrace();
}
}
}
㈦ java復制文件
/**
* 復制單個文件
* @param oldPath String 原文件路徑 如:c:/fqf.txt
* @param newPath String 復制後路徑 如:f:/fqf.txt
* @return boolean
*/
public void File(String oldPath, String newPath) {
try {
int bytesum = 0;
int byteread = 0;
File oldfile = new File(oldPath);
if (oldfile.exists()) { //文件存在時
InputStream inStream = new FileInputStream(oldPath); //讀入原文件
FileOutputStream fs = new FileOutputStream(newPath);
byte[] buffer = new byte[1444];
int length;
while ( (byteread = inStream.read(buffer)) != -1) {
bytesum += byteread; //位元組數 文件大小
System.out.println(bytesum);
fs.write(buffer, 0, byteread);
}
inStream.close();
}
}
catch (Exception e) {
System.out.println("復制單個文件操作出錯");
e.printStackTrace();
}
}
/**
* 復制整個文件夾內容
* @param oldPath String 原文件路徑 如:c:/fqf
* @param newPath String 復制後路徑 如:f:/fqf/ff
* @return boolean
*/
public void Folder(String oldPath, String newPath) {
try {
(new File(newPath)).mkdirs(); //如果文件夾不存在 則建立新文件夾
File a=new File(oldPath);
String[] file=a.list();
File temp=null;
for (int i = 0; i < file.length; i++) {
if(oldPath.endsWith(File.separator)){
temp=new File(oldPath+file[i]);
}
else{
temp=new File(oldPath+File.separator+file[i]);
}
if(temp.isFile()){
FileInputStream input = new FileInputStream(temp);
FileOutputStream output = new FileOutputStream(newPath + "/" +
(temp.getName()).toString());
byte[] b = new byte[1024 * 5];
int len;
while ( (len = input.read(b)) != -1) {
output.write(b, 0, len);
}
output.flush();
output.close();
input.close();
}
if(temp.isDirectory()){//如果是子文件夾
Folder(oldPath+"/"+file[i],newPath+"/"+file[i]);
}
}
}
catch (Exception e) {
System.out.println("復制整個文件夾內容操作出錯");
e.printStackTrace();
}
}
請採納答案,支持我一下。
㈧ java如何實現文件的復制粘貼
打開D盤,點編輯,全部選定,右鍵點變籃的文件選復制,打開E盤右鍵點空白處選粘貼。
㈨ java 把a文件復制到b
復制文件,如圖片,音樂文件,建議用位元組流.
你沒有關閉流.
在my方法的while塊後添加下面兩行.
br.close();
bw.close();
我寫的小例子.
package test;
import java.io.*;
public class FileTest{
public static void main(String[] args){
File from=new File("src\\test\\FileTest.java");
File to=new File("src\\xxxx\\FileTest2.java");
File(from,to);
}
public static void File(File from,File to){
BufferedInputStream in=null;
BufferedOutputStream out=null;
try{
if(!from.exists()){
return;
}
if(!to.exists()){
File toDir=new File(to.getParent());
toDir.mkdirs();
to.createNewFile();
}
in=new BufferedInputStream(new FileInputStream(from));
out=new BufferedOutputStream(new FileOutputStream(to));
int b=0;
while((b=in.read())!=-1){
out.write(b);
}
in.close();
out.close();
}catch(IOException ex){
ex.printStackTrace();
}
}
}