File.Move Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Overload
Move(String, String) |
Memindahkan file tertentu ke lokasi baru, menyediakan opsi untuk menentukan nama file baru. |
Move(String, String, Boolean) |
Memindahkan file tertentu ke lokasi baru, menyediakan opsi untuk menentukan nama file baru dan mengganti file tujuan jika sudah ada. |
Move(String, String)
- Sumber:
- File.cs
- Sumber:
- File.cs
- Sumber:
- File.cs
Memindahkan file tertentu ke lokasi baru, menyediakan opsi untuk menentukan nama file baru.
public:
static void Move(System::String ^ sourceFileName, System::String ^ destFileName);
public static void Move (string sourceFileName, string destFileName);
static member Move : string * string -> unit
Public Shared Sub Move (sourceFileName As String, destFileName As String)
Parameter
- sourceFileName
- String
Nama file yang akan dipindahkan. Dapat mencakup jalur relatif atau absolut.
- destFileName
- String
Jalur dan nama baru untuk file.
Pengecualian
destFileName
sudah ada.
-atau-
Terjadi kesalahan I/O, misalnya saat menyalin file di seluruh volume disk.
sourceFileName
tidak ditemukan.
sourceFileName
atau destFileName
adalah null
.
.NET Framework dan .NET Core yang lebih lama dari 2.1: sourceFileName
atau destFileName
merupakan string dengan panjang nol, hanya berisi spasi kosong, atau berisi karakter yang tidak valid. Anda bisa mengkueri karakter yang tidak valid dengan menggunakan metode .GetInvalidPathChars()
Pemanggil tidak memiliki izin yang diperlukan.
Jalur yang ditentukan, nama file, atau keduanya melebihi panjang maksimum yang ditentukan sistem.
Jalur yang ditentukan di sourceFileName
atau destFileName
tidak valid, (misalnya, ada di drive yang tidak dipetakan).
sourceFileName
atau destFileName
dalam format yang tidak valid.
Contoh
Contoh berikut memindahkan file.
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 );
}
}
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());
}
}
}
open System.IO
let path = @"c:\temp\MyTest.txt"
let path2 = @"c:\temp2\MyTest.txt"
if File.Exists path |> not then
// This statement ensures that the file is created,
// but the handle is not kept.
use _ = File.Create path
()
// Ensure that the target does not exist.
if File.Exists path2 then
File.Delete path2
// Move the file.
File.Move(path, path2)
printfn $"{path} was moved to {path2}."
// See if the original exists now.
if File.Exists path then
printfn "The original file still exists, which is unexpected."
else
printfn "The original file no longer exists, which is expected."
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
Keterangan
Metode ini berfungsi di seluruh volume disk, dan tidak memberikan pengecualian jika sumber dan tujuannya sama.
Perhatikan bahwa jika Anda mencoba mengganti file dengan memindahkan file dengan nama yang sama ke direktori tersebut, IOException akan dilemparkan. Untuk menghindari masalah ini:
Di .NET Core 3.0 dan versi yang lebih baru, Anda dapat memanggil Move(String, String, Boolean) pengaturan parameter
overwrite
ketrue
, yang akan menggantikan file jika ada.Di semua versi .NET, Anda dapat memanggil Copy(String, String, Boolean) untuk menyalin dengan menimpa, lalu memanggil
Delete
untuk menghapus file sumber berlebih. Strategi ini disarankan jika file yang disalin kecil, dan Anda mencari operasi file "atom". Jika AndaDelete
file terlebih dahulu, dan sistem atau program mengalami crash, file tujuan tidak akan ada lagi.Di semua versi .NET, Anda dapat memanggil Delete(String) sebelum memanggil
Move
, yang hanya akan menghapus file jika ada.
Argumen sourceFileName
dan destFileName
dapat mencakup informasi jalur relatif atau absolut. Informasi jalur relatif ditafsirkan relatif terhadap direktori kerja saat ini. Untuk mendapatkan direktori kerja saat ini, lihat GetCurrentDirectory.
Memindahkan file di seluruh volume disk setara dengan menyalin file dan menghapusnya dari sumber jika penyalinan berhasil.
Jika Anda mencoba memindahkan file di seluruh volume disk dan file tersebut sedang digunakan, file disalin ke tujuan, tetapi tidak dihapus dari sumbernya.
Untuk daftar tugas I/O umum, lihat Tugas I/O Umum.
Lihat juga
Berlaku untuk
Move(String, String, Boolean)
- Sumber:
- File.cs
- Sumber:
- File.cs
- Sumber:
- File.cs
Memindahkan file tertentu ke lokasi baru, menyediakan opsi untuk menentukan nama file baru dan mengganti file tujuan jika sudah ada.
public:
static void Move(System::String ^ sourceFileName, System::String ^ destFileName, bool overwrite);
public static void Move (string sourceFileName, string destFileName, bool overwrite);
static member Move : string * string * bool -> unit
Public Shared Sub Move (sourceFileName As String, destFileName As String, overwrite As Boolean)
Parameter
- sourceFileName
- String
Nama file yang akan dipindahkan. Dapat mencakup jalur relatif atau absolut.
- destFileName
- String
Jalur dan nama baru untuk file.
- overwrite
- Boolean
true
untuk mengganti file tujuan jika sudah ada; false
Sebaliknya.
Pengecualian
destFileName
sudah ada dan overwrite
adalah false
.
-atau-
Terjadi kesalahan I/O, misalnya saat menyalin file di seluruh volume disk.
sourceFileName
tidak ditemukan.
sourceFileName
atau destFileName
adalah null
.
.NET Framework dan .NET Core yang lebih lama dari 2.1: sourceFileName
atau destFileName
merupakan string dengan panjang nol, hanya berisi spasi kosong, atau berisi karakter yang tidak valid. Anda bisa mengkueri karakter yang tidak valid dengan menggunakan metode .GetInvalidPathChars()
Pemanggil tidak memiliki izin yang diperlukan.
-atau-
Sistem Operasi gagal memperoleh akses eksklusif ke file tujuan.
Jalur yang ditentukan, nama file, atau keduanya melebihi panjang maksimum yang ditentukan sistem.
Jalur yang ditentukan di sourceFileName
atau destFileName
tidak valid, (misalnya, ada di drive yang tidak dipetakan).
sourceFileName
atau destFileName
dalam format yang tidak valid.
Contoh
Contoh berikut memindahkan file.
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 );
}
}
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());
}
}
}
open System.IO
let path = @"c:\temp\MyTest.txt"
let path2 = @"c:\temp2\MyTest.txt"
if File.Exists path |> not then
// This statement ensures that the file is created,
// but the handle is not kept.
use _ = File.Create path
()
// Ensure that the target does not exist.
if File.Exists path2 then
File.Delete path2
// Move the file.
File.Move(path, path2)
printfn $"{path} was moved to {path2}."
// See if the original exists now.
if File.Exists path then
printfn "The original file still exists, which is unexpected."
else
printfn "The original file no longer exists, which is expected."
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
Keterangan
Metode ini berfungsi di seluruh volume disk, dan tidak memberikan pengecualian jika sumber dan tujuannya sama.
Argumen sourceFileName
dan destFileName
dapat mencakup informasi jalur relatif atau absolut. Informasi jalur relatif ditafsirkan relatif terhadap direktori kerja saat ini. Untuk mendapatkan direktori kerja saat ini, lihat GetCurrentDirectory.
Memindahkan file di seluruh volume disk setara dengan menyalin file dan menghapusnya dari sumber jika penyalinan berhasil.
Jika Anda mencoba memindahkan file di seluruh volume disk dan file tersebut sedang digunakan, file disalin ke tujuan, tetapi tidak dihapus dari sumbernya.
Untuk daftar tugas I/O umum, lihat Tugas I/O Umum.