Dapatkan Direktori Semasa dalam C#

Dapatkan Direktori Semasa Dalam C



Memandangkan folder menawarkan pendekatan yang sistematik dan teratur untuk mengendalikan sumber dan dokumen di dalam aplikasi, ia memainkan peranan penting dalam pembangunan C#. Direktori membantu dalam organisasi logik fail dan sumber. Anda boleh mencari dan mengurus fail dengan cepat dengan meletakkannya dalam direktori dengan item lain yang serupa. Dalam C#, direktori kerja semasa aplikasi boleh diambil menggunakan fungsi GetCurrentDirectory().

Direktori kerja merujuk kepada lokasi dalam sistem fail di mana aplikasi sedang berjalan. Memandangkan ia bertindak sebagai titik permulaan untuk semua aktiviti fail dan folder yang berkaitan, direktori ini penting untuk difahami. Kami akan belajar tentang pelbagai contoh kod untuk membincangkan perkara ini dalam panduan ini.

Contoh 1:

Mari kita beralih ke contoh pertama panduan ini untuk menunjukkan penggunaan fungsi GetCurrentDirectory() dalam C#. Arahan 'menggunakan' membenarkan program mengakses kelas dan kaedah daripada ruang nama 'System' dan 'System.IO'. Ruang nama 'Sistem' menyediakan jenis asas dan fungsi sistem asas, manakala 'System.IO' menyediakan kelas untuk digunakan dengan dokumen dan direktori.







Baris seterusnya mentakrifkan kelas baharu bernama 'Dummy' melalui kata kunci 'class'. Nama 'Dummy' adalah sewenang-wenangnya dan boleh ditukar kepada mana-mana pengecam yang sah. Fungsi main() bermula dengan kata kunci statik yang menunjukkan bahawa ia adalah kaedah peringkat kelas, dan ia tidak perlu menggunakan contoh kelas untuk ia berfungsi.



Panggilan fungsi direktori akan berlaku. Kaedah GetCurrentDirectory() boleh digunakan untuk mendapatkan direktori kerja aplikasi sekarang. Fungsi GetCurrentDirectory() ialah fungsi statik daripada kelas 'Direktori' yang merupakan sebahagian daripada ruang nama 'System.IO'. Ia mengembalikan rentetan yang mewakili direktori semasa dan memberikannya kepada pembolehubah 'cd'.



Kaedah Console.WriteLine() digunakan untuk memaparkan baris teks kepada output standard (konsol). Dalam kes ini, ia mencetak mesej 'Direktori Semasa Saya:' yang digabungkan dengan nilai pembolehubah 'cd' yang memegang laluan direktori semasa.





menggunakan Sistem ;

menggunakan Sistem. IO ;

Dummy kelas {

statik batal Utama ( ) {

cd rentetan = Direktori. GetCurrentDirectory ( ) ;

Konsol. WriteLine ( 'Direktori Semasa Saya:' + cd ) ;

}

}

Apabila anda menjalankan program C# ini, kaedah 'Utama' dilaksanakan dan direktori semasa dipaparkan pada konsol. Sekiranya anda menggunakan mana-mana pengkompil C# dalam talian, ia memaparkan laluan pengkompil, iaitu /home/compiler.



Ia mungkin berbeza-beza bergantung pada cara anda melaksanakan aplikasi (cth., daripada Visual Studio, command prompt atau IDE yang berbeza).

Contoh 2:

Selain daripada kelas 'Direktori', persekitaran C# juga boleh digunakan untuk mendapatkan direktori kerja semasa. Mari jelaskan kod contoh C# yang diberikan langkah demi langkah. Kod bermula dengan 'menggunakan Sistem;' pernyataan yang merangkumi ruang nama 'Sistem' dalam program. Kod itu mentakrifkan kelas baharu bernama 'Ujian'.

Pembolehubah jenis rentetan dengan nama 'dir' diisytiharkan dan diberi nilai dalam fungsi 'Utama'. Untuk mendapatkan direktori aktif aplikasi sekarang, gunakan atribut Environment.CurrentDirectory. Kelas 'Persekitaran' menyediakan maklumat tentang persekitaran di mana aplikasi berjalan termasuk maklumat tentang sistem fail dan pembolehubah persekitaran sistem.

Kaedah 'Console.WriteLine' digunakan untuk memaparkan direktori semasa pada konsol IDE yang telah anda gunakan. Operator '+' digunakan untuk menggabungkan rentetan 'Direktori Semasa:' dengan nilai yang disimpan dalam pembolehubah 'dir'.

menggunakan Sistem ;

Ujian kelas {

statik batal Utama ( ) {

rentetan dir = Persekitaran. CurrentDirectory ;

Konsol. WriteLine ( 'Direktori Semasa: ' + awak ) ;

}

}

Kaedah 'Utama' digunakan secara lalai apabila aplikasi dijalankan. Ia bermula dengan mendapatkan semula direktori semasa menggunakan Environment.CurrentDirectory. Kemudian, ia memaparkan direktori semasa dengan mencetak mesej 'Direktori Semasa:' diikuti dengan laluan direktori ke konsol menggunakan sifat Environment.CurrentDirectory.

Contoh 3:

Mendapatkan direktori semasa aplikasi adalah mudah dengan atribut AppDomain.CurrentDomain.BaseDirectory. Kami menambah satu lagi contoh kod C# untuk menunjukkan penggunaan AppDomain.CurrentDomain.BaseDirectory.

Selepas menambah ruang nama 'Sistem', kod itu mentakrifkan kelas yang dipanggil 'Ujian'. Kaedah 'Utama' memulakan pelaksanaannya dengan menambah baris untuk mendapatkan semula direktori kerja semasa aplikasi. Kelas 'AppDomain' mewakili domain aplikasi dan 'CurrentDomain' ialah sifat statik yang mengembalikan domain aplikasi semasa.

Sifat 'BaseDirectory' pula menyediakan direktori asas (juga dikenali sebagai direktori akar aplikasi) bagi domain aplikasi semasa. Baris seterusnya mengisytiharkan pembolehubah bernama 'dir' jenis rentetan untuk menyimpan direktori semasa. Baris berturut-turut seterusnya mengeluarkan direktori semasa ke konsol menggunakan kaedah Console.WriteLine. Operator '+' digunakan untuk menggabungkan rentetan 'Direktori Semasa:' dengan nilai pembolehubah 'dir'.

menggunakan Sistem ;

Ujian kelas {

statik batal Utama ( ) {

rentetan dir = AppDomain. CurrentDomain . BaseDirectory ;

Konsol. WriteLine ( 'Direktori Semasa: ' + awak ) ;

}

}

Apabila anda menjalankan program C# ini, ia memaparkan direktori semasa aplikasi pada konsol.

Contoh 4:

Sudah tiba masanya untuk ilustrasi terakhir kami daripada panduan ini. Kod C# yang disediakan ialah aplikasi konsol ringkas yang menunjukkan untuk mendapatkan direktori semasa menggunakan kaedah 'Path.GetDirectoryName()' dan 'Assembly.GetExecutingAssembly().Location'.

Dalam kod ini, tiga ruang nama diimport: 'System', 'System.IO', dan 'System.Reflection'. Ruang nama ini mengandungi kelas dan kaedah yang diperlukan untuk pelbagai operasi dalam kod. Kaedah 'Utama' dan kelas yang dipanggil 'Ujian' ditakrifkan dalam kod. Untuk mendapatkan direktori kerja semasa, kaedah 'Assembly.GetExecutingAssembly()' mengembalikan objek 'Assembly' yang mewakili perhimpunan yang sedang dilaksanakan (iaitu, boleh laku yang sedang berjalan).

Harta 'Lokasi' objek 'Assembly' memberikan laluan penuh ke lokasi boleh laku yang sedang berjalan (termasuk nama fail). Sekarang, sifat 'Lokasi' mungkin mengandungi laluan penuh ke boleh laku termasuk nama fail. Untuk mengekstrak bahagian direktori sahaja, 'Path.GetDirectoryName()' digunakan. Laluan direktori yang menyimpan fail dikembalikan oleh fungsi ini selepas menerima alamat fail sebagai input.

Akhir sekali, kod tersebut mencetak direktori semasa yang diperolehi ke konsol menggunakan 'Console.WriteLine()'. Operator '+' digunakan untuk menggabungkan rentetan 'Direktori Semasa:' dengan nilai pembolehubah 'cd' (yang memegang laluan direktori semasa).

menggunakan Sistem ;

menggunakan Sistem. IO ;

menggunakan Sistem. Refleksi ;

Ujian kelas {

statik batal Utama ( ) {

cd rentetan = Laluan. GetDirectoryName ( Perhimpunan. GetExecutingAssembly ( ) . Lokasi ) ;

Konsol. WriteLine ( 'Direktori Semasa: ' + cd ) ;

}

}

Apabila anda menjalankan program C# ini, ia memaparkan direktori semasa yang boleh dijalankan pada konsol mengikut output yang ditunjukkan dalam imej:

Kesimpulan

Kejadian yang disebutkan di atas memperoleh sistem fail semasa aplikasi menggunakan pelbagai kaedah dan atribut C#. Perlu diingat bahawa laluan semasa mungkin berubah bergantung pada persekitaran berjalan dan cara program dilancarkan.