java實現文件複製上傳,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如何拷貝文件到另一個目錄下

下面列舉出4種方式:

1、使用FileStreams複製

這是最經典的方式將一個文件的內容複製到另一個文件中。 使用FileInputStream讀取文件A的位元組,使用FileOutputStream寫入到文件B。正如你所看到的我們執行幾個讀和寫操作try的數據,所以這應該是一個低效率的,下一個方法我們將看到新的方式。 這是第一個方法的代碼:

2、使用FileChannel複製

Java NIO包括transferFrom方法,根據文檔應該比文件流複製的速度更快。 這是第二種方法的代碼:

3、使用Commons IO複製

Apache Commons IO提供拷貝文件方法在其FileUtils類,可用於複製一個文件到另一個地方。它非常方便使用Apache Commons FileUtils類時,您已經使用您的項目。基本上,這個類使用Java NIO FileChannel內部。 這是第三種方法的代碼:

4、使用Java7的Files類複製

如果你有一些經驗在Java 7中你可能會知道,可以使用複製方法的Files類文件,從一個文件複製到另一個文件。 這是第四個方法的代碼:

如何用java程序實現上傳文件到指定的URL地址

參考代碼如下:

import java.io.*;

/**

* 複製文件夾或文件夾

*/

public class CopyDirectory {

// 源文件夾

static String url1 = “f:/photos”;

// 目標文件夾

static String url2 = “d:/tempPhotos”;

public static void main(String args[]) throws IOException {

// 創建目標文件夾

(new File(url2)).mkdirs();

// 獲取源文件夾當前下的文件或目錄

File[] file = (new File(url1)).listFiles();

for (int i = 0; i file.length; i++) {

if (file[i].isFile()) {

// 複製文件

copyFile(file[i],new File(url2+file[i].getName()));

}

if (file[i].isDirectory()) {

// 複製目錄

String sourceDir=url1+File.separator+file[i].getName();

String targetDir=url2+File.separator+file[i].getName();

copyDirectiory(sourceDir, targetDir);

}

}

}

// 複製文件

public static void copyFile(File sourceFile,File targetFile)

throws IOException{

// 新建文件輸入流並對它進行緩衝

FileInputStream input = new FileInputStream(sourceFile);

BufferedInputStream inBuff=new BufferedInputStream(input);

// 新建文件輸出流並對它進行緩衝

FileOutputStream output = new FileOutputStream(targetFile);

BufferedOutputStream outBuff=new BufferedOutputStream(output);

// 緩衝數組

byte[] b = new byte[1024 * 5];

int len;

while ((len =inBuff.read(b)) != -1) {

outBuff.write(b, 0, len);

}

// 刷新此緩衝的輸出流

outBuff.flush();

//關閉流

inBuff.close();

outBuff.close();

output.close();

input.close();

}

// 複製文件夾

public static void copyDirectiory(String sourceDir, String targetDir)

throws IOException {

// 新建目標目錄

(new File(targetDir)).mkdirs();

// 獲取源文件夾當前下的文件或目錄

File[] file = (new File(sourceDir)).listFiles();

for (int i = 0; i file.length; i++) {

if (file[i].isFile()) {

// 源文件

File sourceFile=file[i];

// 目標文件

File targetFile=new

File(new File(targetDir).getAbsolutePath()

+File.separator+file[i].getName());

copyFile(sourceFile,targetFile);

}

if (file[i].isDirectory()) {

// 準備複製的源文件夾

String dir1=sourceDir + “/” + file[i].getName();

// 準備複製的目標文件夾

String dir2=targetDir + “/”+ file[i].getName();

copyDirectiory(dir1, dir2);

}

}

}

}

java如何實現將一個記事本文件內容複製到另一個文件?

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

public class CopyMove {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

CopyMove cm = new CopyMove();

cm.copy(“h:\\1.txt”, “c:\\2.txt”);

cm.move(“h:\\3.txt”, “h:\\r\\e\\4.txt”);

}

//文件複製前必須得到當前文件夾名字且要有\

//當複製深層次路徑時要用mkdirs方法

public void copy(String path1,String path2){

try {

FileInputStream fis = new FileInputStream(path1);

int l = fis.available();

byte[] c = new byte[l];

fis.read(c);

fis.close();

int i = path2.lastIndexOf(“\\”)+1;

System.out.println(i);

String path = path2.substring(0, i);

System.out.println(path);

File f = new File(path);

f.mkdirs();

// System.out.println(f.getAbsolutePath());

// System.out.println(f.isDirectory());

FileOutputStream fos = new FileOutputStream(path2);

fos.write(c);

fos.close();

System.out.println(“文件複製成功”);

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

System.out.println(“文件複製失敗”);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public void move(String path1,String path2){

try {

FileInputStream fis = new FileInputStream(path1);

int l = fis.available();

byte[] c = new byte[l];

fis.read(c);

fis.close();

int i = path2.lastIndexOf(“\\”);

//System.out.println(i);

String path = path2.substring(0, i);

System.out.println(path);

File f = new File(path);

f.mkdirs();

// System.out.println(f.getAbsolutePath());

// System.out.println(f.isDirectory());

FileOutputStream fos = new FileOutputStream(path2);

fos.write(c);

fos.close();

System.out.println(“文件移動成功”);

File f2 = new File(path1);

f2.delete();

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

System.out.println(“文件移動失敗”);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

java實現文件上傳,代碼盡量簡潔~~~~~·

你說的2種方法都是很簡單的,參考網上的資料都不難做出,用io流做更是基礎中的基礎,我說下smartupload好了,有的人是直接寫在jsp上面,感覺比較亂,我一般都是寫在action裏面,打好jar包和配置後

SmartUpload mySmartUpload = new SmartUpload();

//如果是struts2.0或者webwork 則是mySmartUpload.initialize(ServletActionContext.getServletConfig(),ServletActionContext.getRequest(),ServletActionContext.getResponse());

mySmartUpload.initialize(servlet.getServletConfig(), request,response);

mySmartUpload.setTotalMaxFileSize(500000);

//如果上傳任意文件不設置mySmartUpload.setAllowedFilesList(文件後綴名)就可以了

mySmartUpload.upload();

for (int i = 0; i mySmartUpload.getFiles().getCount(); i++) {

com.jspsmart.upload.File file = mySmartUpload.getFiles().getFile(i);

if (file.isMissing()) continue;

file.saveAs(保存的地址 + file.getFileName(),

su.SAVE_PHYSICAL);

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/189089.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-29 08:00
下一篇 2024-11-29 08:00

相關推薦

發表回復

登錄後才能評論