İçindekiler
ile çalışmasına rağmen veritabanları Bu çok iyi bir şey ve sorgulama yaparken ve kayıtları ilişkilendirirken bizi çok fazla işten kurtarıyor, sunucumuz olmadığı için dosya oluşturmamız gereken zamanlar oluyor. Veri tabanı kullanılabilir veya belki bir kaydı değil, ilgisiz bir veri kümesini kaydetmemiz gerektiğinden.Dosya yönetimi, birçoğunun hala karmaşık veya belki de modası geçmiş olarak gördüğü bir alandır, ancak bu yanlıştır, dosyaların oluşturulması sistemlerin ve uygulamaların geliştirilmesinde hayati önem taşır. Bir dosya, bir .txt özellikle bazı çizgilerle, büyük nesile kadar .xml bir konfigürasyon tanımlayabiliriz.
Bir sistemde dosya oluşturmayı içeren her şeyi halletmek için, Java sınıfa güven Dosya veri girişi ve çıkışı işleme için kütüphane paketi içinde java.io. Bu sınıf bize, aşağıdakiler arasında değişen işlemleri gerçekleştirmemize izin veren farklı yöntemler sağlar. dosyalar oluşturmak ve silmek, dizinler oluşturmak, izinleri doğrulamak vb..
Dosya işlemlerini gerçekleştirmek için sınıfı nasıl kullanabileceğimizi pratikte görmeden önce, onların ana yöntemlerinden bazılarını yaptıklarını anlamalıyız, bununla, belirli bir problemle karşılaştığımızda gidebileceğimiz teorik bir temele sahip olacağız. programlarımızda dosyaların işlenmesi:
var ()Bu yöntem, çağırırken belirttiğimiz bir dizindeki belirli bir dosyanın varlığı hakkında bize Boolean bir yanıt verir, açıkçası dosya bulunursa true veya true, yoksa false veya false döndürür.
getCanonicalPath ()Bu yöntem, dosya yolu dahil tam adı döndürür, programımızı yürüttüğümüz sistem içindeki dosyamızın mutlak konumunu elde etmek çok önemlidir.
getName ()Önceki yöntemin aksine, bu, bulunduğu adres veya klasörü dahil etmeden yalnızca dosyanın göreceli ve kısa adını döndürür.
okuyabilir ()Bu yöntem, dosyayı okuma iznimiz olup olmadığını doğrulamamızı sağlar, bir işlem başlatmadan önce bir dosyayı okuyup okuyamayacağımızı doğrulamak çok önemlidir, bu şekilde istisnaları azaltabilir ve sistem kaynaklarından tasarruf edebiliriz.
yazabilir ()Bu, sınıfın bir örneğine uygularken dosyalar üzerindeki izinleri doğrulamamıza yardımcı olan başka bir yöntemdir. Dosya ilgili dosyayı yazıp yazamayacağımızı bize bildirecektir.
uzunluk ()Bu yöntem, işleme sırasında önemli bir kontrol olan bir dosyanın boyutunu bilmemize izin verdiği için en kullanışlı yöntemlerden biridir.
isFile ()Son olarak, bu yöntem, değerlendirdiğimiz şeyin bir dosya mı yoksa bir dizin mi olduğunu bilmemizi sağlar, böylece istediğimiz yapı üzerinde çalışıp çalışmadığımızı bileceğiz.
NS dosya oluşturma Programımızın çalıştığı sistem içinde yazdığımız bir süreçtir. Bir dosya yazmakla bir dosyanın içine yazmak arasında fark vardır, ilki bize dosyayı sistem içinde oluşturduğumuzu söyler, ancak içeriği buna eklememiz gerekmez; Öte yandan, ikincisi bize mevcut bir dosyaya içerik eklediğimizi söyler.
Neden boş bir dosya istediğimizi merak edebilirler, boş bir dosya işe yaramaz değildir, bir uygulama içinde daha büyük bir işlemin parçası olabilir, örneğin bir yöntem dosyayı oluşturur ve bir işlemin sonucunda başka bir yöntem ekler ile ilgilenir. ona veri. Programa sürecin hangi aşamasında olduğumuzu vb. belirtmek için geçici dosyalar oluşturduğumuz doğrulamalarda da hayati olabilir.
Aşağıda boş bir düz dosya oluşturduğumuz küçük bir kod görelim.
java.io'yu içe aktar *; java.io.File'ı içe aktarın; public class CreateFiles {public static void main (String [] argv) fırlatır IOException {if (argv.length == 0) {System.err.println ("Parametreye göre bir ad girmelisiniz"); Sistem.çıkış (1); } for (Dize dosya adı: argv) {yeni Dosya (dosya adı) .createNewFile (); }}}
Yaptığımız ilk şeyin sınıfların bir içe aktarımı olduğunu görüyoruz. java.io ile istisna işlemeye erişebilmek için IOException, sonra sınıfı içe aktarıyoruz java.io.Dosya dosyaları doğrudan işlememize izin veren şey budur.
Sonra sınıfımızı ve metodunu yaratırız. ana Argüman alacağını belirtiyoruz, bunu dosyaların adlarını dinamik olarak belirtmek için yapıyoruz. Bir isme ihtiyacımız olduğu için yaptığımız küçük bir doğrulamadır, bu da bir dosya adı alınmazsa, onu yerleştirmesinin istendiğini ve programın sonlandırıldığını gösterir. Son olarak, alınan her argüman için yeni bir dosya oluşturacağız, bununla sınıfın yeni bir örneğini yapıyoruz. Dosya ve yöntemle oluşturYeniDosya () dosyayı sistemde oluşturuyoruz.
Programımızın kendi dizininde bir dosya oluşturmak için yeterli izni yoksa bir hata alacağımızın farkında olmalıyız. Lafı fazla uzatmadan programımızın konsolda çalıştırdığımızda nasıl göründüğüne bir bakalım:
BÜYÜT
İlk doğrulamamızın nasıl çalıştığını görebiliriz ve daha sonra oluşturulan dosya adını geçtiğimizde, ikincisini doğrulamak için basitçe bir işlem yaptık. yön dizinimizin ve böylece dosyanın varlığını doğrularız.Yazma ve silme işleminden sonra dosyalarla çalışırken en yaygın işlemlerden bir diğeri de yeniden adlandırmadır, bunun için Java Karmaşık görünebilecek bir süreç izlemeliyiz, ancak açıklamaya eşlik edecek örnekte göreceğimiz gibi, anlaşılması oldukça kolay bir şey.
Nasıl yapılır?içindeki bir dosyayı yeniden adlandırın Java iki tür nesne gerektirir Dosya, ilki yeniden adlandırmak istediğimiz dosyayı ve ikincisi dosyanın yeni adını içerir, bu koşulları sağladığımızda yöntemi çağırmalıyız. yeniden adlandır () mevcut dosya nesnesinin üzerine ve yeni nesneyi yeni adla iletin.
Dosyamız üzerinde rename işlemini gerçekleştirmek için ihtiyacımız olan kodu görelim:
java.io'yu içe aktar *; java.io.File'ı içe aktarın; public class RenameFiles {public static void main (String [] argv) fırlatır IOException {File FirstObject = new File ("NewFile.txt"); Dosya ikinci nesne = yeni Dosya ("FileWithNewName.txt"); FirstObject.renameTo (SecondObject); }}
İlgili sınıfları ve paketleri, önceki örnekle aynı şekilde içe aktarıyoruz.
Yöntemin içinde ana () ilk nesnemizi oluşturacağız ve önceki örnekte oluşturduğumuz dosyanın adını koyacağız bu durumda DosyaYeni.txt. Ardından seçtiğimiz örnekte dosyamız için istediğimiz yeni isimle ikinci bir nesne oluşturuyoruz. FileWithNewName.txt.
Son olarak ilk nesneye yöntemi uyguluyoruz yeniden adlandır () ve bir argüman veya parametre olarak, dosyamız için yeni ada sahip ikinci nesneyi iletiyoruz. Kodumuzu çalıştırdığımızda konsolda nasıl göründüğüne bakalım:
BÜYÜT
Klasörün nasıl değiştiğini fark ettik ve şimdi ilk dosya oluşturma örneğinin yürütülmesine kıyasla yeni dosyamızı yansıtıyor.Son olarak, dosyalarla çalışırken oldukça yaygın olan ve silmek için olan diğer işlemi göreceğiz, bu belki de en basitlerinden biridir, çünkü yalnızca dosyanın adını bilmemiz, var olduğunu doğrulamamız ve ardından silmeye devam etmemiz gerekir. yöntemi kullanarak silmek () söz konusu dosyanın adını nereye ileteceğiz. Bunu nasıl başardığımızı aşağıdaki kodda görelim:
java.io'yu içe aktar *; java.io.File'ı içe aktarın; public class DeleteFile {public static void main (String [] argv) {delete ('FileWithNewName.txt'); } public static void delete (String filenameDelete) {try {File file = new File (filenameDelete); if (! file.exists()) {System.err.println ("Dosya" + filenameDelete + "bu dizinde yok"); geri dönmek; } if (file.delete ()) System.err.println ("** Dosya" + fileNameDelete + "silindi **"); else System.err.println ("Dosya silinemedi:" + filenameDelete); } catch (SecurityException e) {System.err.println ("Dosya silinemiyor:" + DeleteFileName + "(" + e.getMessage () + ")"); }}}
Bu programın öncekilerden biraz daha kapsamlı olduğunu görüyoruz, bunun nedeni bir yeniden kullanılabilir işlev Dosyaların silinmesi için, önce dosyanın var olduğunu onayladıktan sonra silmeye devam ediyoruz, burada gerçekten silindiğini doğrulayacağız, aksi takdirde kullanıcıya dosyanın Dosya Sisteminden kaldırılamayacağını bildiririz.
Konsolda bu işlemi nasıl başarılı bir şekilde gerçekleştirebildiğimizi görebiliriz, bunun için önceki örnekte yeniden adlandırdığımız dosyayı kullanıyoruz, bu nedenle klasörün içeriğinin bir listesini yaptığımızda değişikliğin yansıdığını göreceğiz:
BÜYÜT
Son olarak, doğrulamaların çalıştığını gözlemleyebilmemiz için tekrar silmeyi deneyeceğiz:BÜYÜT
Bununla bu öğreticiyi sonlandırdık, dosya işleme için en çok kullanılan iki eylemi gerçekleştirmenin yanı sıra dosya oluşturmayı öğrendik, bununla birlikte bu teknikleri programlarımıza ve uygulamalarımıza dahil edebiliriz, bu tür tekniklerin avantajlarından yararlanarak yararlanabilirsiniz. bizi getirebilir.