[英]How to create a method to move file from one directory to another using Spring Integration File Support?
[英]How to move file one directory to another directory using in java
如何使用java將文件一個目錄移動到另一個目錄? 請讓我知道是否有任何替代解決方案可以在 Java 中執行此操作。
public class FileTransform
{
public static void copyFile(File sourceFile, File destFile) throws IOException
{
if (!destFile.exists())
{
destFile.createNewFile();
}
System.out.println("Copy File Method");
FileChannel source = null;
FileChannel destination = null;
try
{
source = new FileInputStream(sourceFile).getChannel();
System.out.println("Destination File :"+destFile);
destination = new FileOutputStream(destFile).getChannel();
// previous code: destination.transferFrom(source, 0, source.size());
// to avoid infinite loops, should be:
long count = 0;
long size = source.size();
while ((count += destination.transferFrom(source, count, size - count)) < size);
}
finally
{
if (source != null)
{
source.close();
}
if (destination != null)
{
destination.close();
}
}
}
public static void main(String[] args) throws IOException
{
FileTransform ft = new FileTransform();
File src= new File("C:/File/File1/A10301A0003174228I_20140528080958095/A10301A0003174228I.xml");
File dest= new File("E:/FileDest/File1");
ft.copyFile(src,dest);
}
}
上面的代碼我得到異常是
Exception in thread "main" java.io.FileNotFoundException: E:\FileDest\File1 (Access is denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at FileTransform.copyFile(FileTransform.java:22)
at FileTransform.main(FileTransform.java:48)
我收到文件未找到異常,請讓我知道如何在 Java 中執行此操作
InputStream inStream = null;
OutputStream outStream = null;
File afile = new File("srcfilepath");
File bfile = new File("destfilepath");
inStream = new FileInputStream(srcfile);
outStream = new FileOutputStream(destfile);
byte[] buffer = new byte[1024];
int length;
//copy the file content in bytes
while ((length = inStream.read(buffer)) > 0){
outStream.write(buffer, 0, length);
}
inStream.close();
outStream.close();
//delete the original file
afile.delete();
請試試這個。
private boolean filemovetoanotherfolder(String sourcefolder, String destinationfolder, String filename) {
boolean ismove = false;
InputStream inStream = null;
OutputStream outStream = null;
try {
File afile = new File(sourcefolder + filename);
File bfile = new File(destinationfolder + filename);
inStream = new FileInputStream(afile);
outStream = new FileOutputStream(bfile);
byte[] buffer = new byte[1024 * 4];
int length;
// copy the file content in bytes
while ((length = inStream.read(buffer)) > 0) {
outStream.write(buffer, 0, length);
}
// delete the original file
afile.delete();
ismove = true;
System.out.println("File is copied successful!");
} catch (IOException e) {
e.printStackTrace();
}finally{
inStream.close();
outStream.close();
}
return ismove;
}
嘗試這個 :
File yourFile= new File("C:/File/File1/A10301A0003174228I_20140528080958095/A10301A0003174228I.xml");
yourFile.renameTo(new File("E:/FileDest/File1/A10301A0003174228I.xml" ));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.