我正在尝试编写一个程序来将文件夹移动到新位置。使用<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<EditText
android:id="@+id/dialog_edit_text"
android:inputType="textEmailAddress"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
很容易。
我遇到的问题是我只想移动从文本文件中读取的文件夹名称。我已经到了可以移动文件夹的地步,我已经将文件夹名称读入数组。
我似乎无法想出检查该数组中的名称然后移动它们的逻辑。怎么可以这样做?
我有这段代码:
Directory.move()
它似乎并没有只挑选文本文件中的名称并只移动它们。
答案 0 :(得分:-1)
您正在将数值读入数组并使用它们执行循环,但在调用Directory.Move
时使用这些值
您需要将目录名称与数组中的名称相结合。
使用文件和文件夹时,组合字符串的最佳方法是使用System.IO.Path.Combine
使用您的问题代码:
string sourceDirectory = @"C:\Users\Steve\Documents\old folder";
string destinationDirectory = @"C:\Users\Steve\Documents\new folder";
try
{
string[] file = File.ReadAllLines(@"C:\Users\Steve\Documents\Visual Studio 2015\Projects\FileCopier\FileCopier\File.txt");
foreach(string folder in file) {
Directory.Move(Path.Combine(sourceDirectory, folder), Path.Combine(destinationDirectory, folder)); }
}
}
catch (Exception ex) {Console.WriteLine(Ex.ToString()); }