File.Move-Methode
Verschiebt eine angegebene Datei an einen neuen Speicherort und ermöglicht das Angeben eines neuen Dateinamens.
Namespace: System.IO
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Shared Sub Move ( _
sourceFileName As String, _
destFileName As String _
)
'Usage
Dim sourceFileName As String
Dim destFileName As String
File.Move(sourceFileName, destFileName)
public static void Move (
string sourceFileName,
string destFileName
)
public:
static void Move (
String^ sourceFileName,
String^ destFileName
)
public static void Move (
String sourceFileName,
String destFileName
)
public static function Move (
sourceFileName : String,
destFileName : String
)
Parameter
- sourceFileName
Der Name der zu verschiebenden Datei.
- destFileName
Der neue Pfad für die Datei.
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
Die Zieldatei ist bereits vorhanden. |
|
sourceFileName oder destFileName ist NULL (Nothing in Visual Basic). |
|
sourceFileName oder destFileName ist eine Zeichenfolge der Länge 0, besteht nur aus Leerraum oder enthält durch InvalidPathChars definierte ungültige Zeichen. |
|
Der Aufrufer verfügt nicht über die erforderliche Berechtigung. |
|
sourceFileName wurde nicht gefunden. |
|
Der angegebene Pfad und/oder der Dateiname überschreiten die vom System vorgegebene Höchstlänge. Beispielsweise müssen Pfade auf Windows-Plattformen weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen haben. |
|
Der in sourceFileName oder destFileName angegebene Pfad ist ungültig (z. B. befindet er sich auf einem nicht zugeordneten Laufwerk). |
|
Das Format von sourceFileName oder destFileName ist ungültig. |
Hinweise
Diese Methode funktioniert über Laufwerke hinweg und löst keine Ausnahme aus, wenn Quelle und Ziel identisch sind. Beachten Sie, dass Sie eine IOException erhalten, wenn Sie versuchen, eine Datei zu ersetzen, indem Sie eine Datei desselben Namens in das betreffende Verzeichnis verschieben. Sie können die Move-Methode nicht zum Überschreiben einer vorhandenen Datei verwenden.
Mit dem sourceFileName-Argument und dem destFileName-Argument dürfen relative oder absolute Pfadinformationen angegeben werden. Relative Pfadinformationen werden relativ zum aktuellen Arbeitsverzeichnis interpretiert. Informationen über das Abrufen des aktuellen Arbeitsverzeichnisses finden Sie unter GetCurrentDirectory.
Ein Beispiel für die Verwendung dieser Klasse finden Sie im Beispielabschnitt. In der folgenden Tabelle sind Beispiele für andere typische oder verwandte E/A-Aufgaben aufgeführt.
Aufgabe |
Beispiel in diesem Thema |
---|---|
Schreiben in eine Textdatei. |
|
Aus einer Textdatei lesen. |
|
Text an eine Datei anfügen. |
|
Kopieren einer Datei. |
|
Ein Verzeichnis umbenennen oder verschieben. |
Beispiel
Im folgenden Beispiel wird eine Datei verschoben.
Imports System
Imports System.IO
Imports System.Text
Public Class Test
Public Shared Sub Main()
Dim path As String = "c:\temp\MyTest.txt"
Dim path2 As String = "c:\temp2\MyTest.txt"
Try
If File.Exists(path) = False Then
' This statement ensures that the file is created,
' but the handle is not kept.
Dim fs As FileStream = File.Create(path)
fs.Close()
End If
' Ensure that the target does not exist.
If File.Exists(path2) Then
File.Delete(path2)
End If
' Move the file.
File.Move(path, path2)
Console.WriteLine("{0} moved to {1}", path, path2)
' See if the original file exists now.
If File.Exists(path) Then
Console.WriteLine("The original file still exists, which is unexpected.")
Else
Console.WriteLine("The original file no longer exists, which is expected.")
End If
Catch e As Exception
Console.WriteLine("The process failed: {0}", e.ToString())
End Try
End Sub
End Class
using System;
using System.IO;
class Test
{
public static void Main()
{
string path = @"c:\temp\MyTest.txt";
string path2 = @"c:\temp2\MyTest.txt";
try
{
if (!File.Exists(path))
{
// This statement ensures that the file is created,
// but the handle is not kept.
using (FileStream fs = File.Create(path)) {}
}
// Ensure that the target does not exist.
if (File.Exists(path2))
File.Delete(path2);
// Move the file.
File.Move(path, path2);
Console.WriteLine("{0} was moved to {1}.", path, path2);
// See if the original exists now.
if (File.Exists(path))
{
Console.WriteLine("The original file still exists, which is unexpected.");
}
else
{
Console.WriteLine("The original file no longer exists, which is expected.");
}
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
}
}
using namespace System;
using namespace System::IO;
int main()
{
String^ path = "c:\\temp\\MyTest.txt";
String^ path2 = "c:\\temp2\\MyTest.txt";
try
{
if ( !File::Exists( path ) )
{
// This statement ensures that the file is created,
// but the handle is not kept.
FileStream^ fs = File::Create( path );
if ( fs )
delete (IDisposable^)fs;
}
// Ensure that the target does not exist.
if ( File::Exists( path2 ) )
File::Delete( path2 );
// Move the file.
File::Move( path, path2 );
Console::WriteLine( "{0} was moved to {1}.", path, path2 );
// See if the original exists now.
if ( File::Exists( path ) )
{
Console::WriteLine( "The original file still exists, which is unexpected." );
}
else
{
Console::WriteLine( "The original file no longer exists, which is expected." );
}
}
catch ( Exception^ e )
{
Console::WriteLine( "The process failed: {0}", e );
}
}
import System.*;
import System.IO.*;
class Test
{
public static void main(String[] args)
{
String path = "c:\\temp\\MyTest.txt";
String path2 = "c:\\temp2\\MyTest.txt";
try {
if (!(File.Exists(path))) {
// This statement ensures that the file is created,
// but the handle is not kept.
FileStream fs = File.Create(path);
try {
}
finally {
fs.Dispose();
}
}
// Ensure that the target does not exist.
if (File.Exists(path2)) {
File.Delete(path2);
}
// Move the file.
File.Move(path, path2);
Console.WriteLine("{0} was moved to {1}.", path, path2);
// See if the original exists now.
if (File.Exists(path)) {
Console.WriteLine("The original file still exists, "
+ "which is unexpected.");
}
else {
Console.WriteLine("The original file no longer exists, "
+ "which is expected.");
}
}
catch (System.Exception e) {
Console.WriteLine("The process failed: {0}", e.ToString());
}
} //main
} //Test
.NET Framework-Sicherheit
- FileIOPermission zum Lesen aus sourceFileName und Schreiben in destFileName. Zugeordnete Enumerationen: FileIOPermissionAccess.Read, FileIOPermissionAccess.Write
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
File-Klasse
File-Member
System.IO-Namespace
Weitere Ressourcen
Datei- und Stream-E/A
Gewusst wie: Lesen aus einer Textdatei
Gewusst wie: Schreiben von Text in eine Datei