本文目錄一覽:
- 1、使用Java語言如何實現快速文件複製
- 2、java如何拷貝文件到另一個目錄下
- 3、如何用java程序實現上傳文件到指定的URL地址
- 4、java如何實現將一個記事本文件內容複製到另一個文件?
- 5、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