[英]How do you copy a file in java using Apache Commons IO with a custom name?
我只是在玩 java 和 Mahout,在編碼時遇到了這個錯誤。
我正在嘗試使用 apache 復制 java 中的文件,但它顯示:
Exception in thread "main" java.io.IOException: Destination 'algorithmResDump\item2019\09\20:22' directory cannot be created
at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1070)
at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1028)
at com.predictionmarketing.itemrecommend.copyFile.copyFile(copyFile.java:14)
at com.predictionmarketing.itemrecommend.UserBasedRecommender.main(UserBasedRecommender.java:93)'
部分代碼片段:
package com.predictionmarketing.itemrecommend;
import org.apache.commons.io.*;
import java.io.File;
import java.io.IOException;
public class copyFile {
public static void copyFile(String source1, String dest1, String filename) throws IOException {
File source = new File (source1);
File dest = new File (dest1, filename);
FileUtils.copyFile(source, dest);
}
}
- output 文件的命名
Date dNow = new Date();
SimpleDateFormat ftRaw = new SimpleDateFormat ("yyyy/MM/dd:HH//mm:ss.SSS");
String ft1 = ftRaw.format(dNow);
copyFile.copyFile("data/send.data", "algorithmResDump/", "item" + ft1 + ".data");
我對 Apache 如何認為它是一個目錄而不是一個文件感到困惑,它甚至說“FileUtils.copyFile”有點誤導。 任何幫助,將不勝感激!
您的 SimpleDateFormatter 中有“/”,由於這個 apache 文件實用程序將嘗試為年、月、日:小時等創建目錄。
但問題是你有':'日期和小時,fileUtils 將嘗試創建一個名為“22:20”的目錄,但在 windows 中,':'是一個非法字符,所以 fileutils 將通過拋出無法創建目錄而失敗。
如果您更喜歡使用時間戳,而不是使用“/”(或)“:”,我建議在其中沒有任何非法字符之前使用“YYYY-mm-dd_HH-MM-SS”之類的格式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.