Apache Common の FileUtil を使用して、CopyDirectory を使用してファイルを他のディスクに転送しようとしています。ただし、マイ ドキュメントの転送に関してはエラーが発生します。また、理由はわかりませんが、C:\Users[UserName]\Documents のような特定のパスを選択すると、Documents のコンテンツだけが表示されず、User's Folder に他のいくつかのフォルダーが表示されます。 . なぜだかわかりません。また、MyDocuments で CopyDirectory を実行すると IOException が発生します... MyMusic をコピーしようとしているとき (そもそもなぜそれを行っているのかわかりません。
私のコードでは、お気に入りとデスクトップを適切にコピーします...お気に入りの「お気に入りツールバー」のフォルダーを「リンク」フォルダーに変更したようです。
どんな助けでも素晴らしいでしょう。ありがとう!
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import org.apache.commons.io.*;
public class TransferJet {
public static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
public static void main(String[] args) throws IOException {
System.out.print("Please enter the username:");
String user = in.readLine();
System.out.print("Please enter the drive letter of the old primary partition:");
String oldPrimaryLetter = in.readLine();
System.out.print("Please enter the drive letter of the old secondary partition:");
String oldSecondaryLetter = in.readLine();
System.out.print("Please enter the drive letter of the new primary partition:");
String newPrimaryLetter = in.readLine();
System.out.print("Please enter the driver letter of the new secondary partition:");
String newSecondaryLetter = in.readLine();
if(user.equals("") || oldSecondaryLetter.equals("") || oldPrimaryLetter.equals("") || newPrimaryLetter.equals("") || newSecondaryLetter.equals(""))
{
System.out.println("Invalid directory or file name.");
System.exit(0);
}
String newFiles = "";
String oldFiles = "";
File source = null;
File destination = null;
System.out.println("Moving Favorites...");
oldFiles = oldPrimaryLetter + ":\\Users\\" + user + "\\Favorites";
//String oldFilesA = "C:\\Users\\ashih\\Favorites";
//String newFilesA = "G:\\Users\\ashih\\Favorites";
newFiles = newPrimaryLetter + ":\\Users\\" + user + "\\Favorites";
source = new File(oldFiles);
destination = new File(newFiles);
FileUtils.copyDirectory(source, destination);
System.out.println("Moving Desktop...");
oldFiles = oldPrimaryLetter + ":\\Users\\" + user + "\\Desktop";
newFiles = newPrimaryLetter + ":\\Users\\" + user + "\\Desktop";
source = new File(oldFiles);
destination = new File(newFiles);
FileUtils.copyDirectory(source, destination);
System.out.println("Moving My Documents...");
oldFiles = oldPrimaryLetter + ":\\Users\\" + user + "\\";
newFiles = newPrimaryLetter + ":\\Users\\" + user + "\\Documents";
source = new File(oldFiles);
destination = new File(newFiles);
FileUtils.copyDirectory(source, destination);
System.out.println("Moving Old Secondary to New Secondary...");
oldFiles = oldSecondaryLetter + ":\\";
newFiles = newSecondaryLetter + ":\\";
source = new File(oldFiles);
destination = new File(newFiles);
FileUtils.copyDirectory(source, destination);
}
}