Zaman zaman tamamlamanız gerekebilecek birçok tekrarlayan görev vardır. Bir örnek, yerel bilgisayarınızdaki dosyalarda düzenli olarak değişiklik yapmanız gerektiğidir. Bu eylemler, dosyaları kopyalamayı, taşımayı, silmeyi veya arşivlemeyi içerebilir.
Bu tekrarlayan görevleri manuel olarak tamamlamak yerine, bir program kullanarak bunları otomatik hale getirebilirsiniz. Bunu, Java gibi mevcut birçok programlama dilinden birini kullanarak tek bir komut dosyasıyla yapabilirsiniz.
Java Uygulaması Nasıl Kurulur
İlk olarak, sahip olduğunuzdan emin olun Oracle'ın Java SE Geliştirme Kiti Kurulmuş. Ardından basit bir Java konsol uygulaması oluşturun:
- Bilgisayarınızda herhangi bir yerde adlı bir dosya oluşturun. SimpleScript.java.
- Dosyayı bir metin düzenleyicide veya IDE'de açın.
- Dosyanın en üstünde, IOException Sınıfını içe aktarın. Bu, bir dosyayı kopyalamak gibi belirli işlevleri yapmaya çalışırken dosya veya IO ile ilgili istisnaları işlemenize olanak tanır.
içe aktarmak java.io. IOİstisna;
- Aşağıda, ekleyin
ana Java sınıfı ve ana yöntem. Uygulamayı başlattığınızda ana yöntem çalışacaktır. Şimdilik, programın doğru çalıştığından emin olmak için bir mesaj yazdırmanız yeterli. Bundan sonra, test etmek için ana işlevin içeriğini aşağıdaki örneklerden herhangi biriyle değiştirebilirsiniz.
sınıfSimpleScript{
halka açıkstatikgeçersizana(Dize argümanları[])atar IOException {
System.out.println("Basit Konsol Uygulaması");
}
} - Komut dosyasını çalıştırmak için, Java dosyanızın konumuna gitmek üzere bir komut satırı kullanarak başlayın. Örneğin, dosyanızı Masaüstünde sakladıysanız, komut şöyle olacaktır:
CD masaüstü
- Dosyayı kaydedin ve javac derlemek için komut. Dosyada her değişiklik yaptığınızda, onu yeniden derlemeniz gerekir. javac.
javac SimpleScript.java
- Uygulamayı çalıştırın:
java SimpleScript
Bilgisayarınızdaki Yerel Dosyalara Nasıl Erişilir
Bir dizindeki dosyalara programlı olarak erişmek için File sınıfını kullanabilirsiniz.
- adlı yeni bir klasör oluşturun. Yeni direktör, Java dosyanızla aynı dizinde. İçinde bazı dosyalar oluşturun—isterseniz bunlar boş metin dosyaları olabilir.
- Java uygulamanızın en üstünde, File sınıfını içe aktarın. Bu, işletim sistemi dosyaları ve dizinleriyle ilgili belirli yöntemlere ve diğer işlevlere erişmenizi sağlar.
içe aktarmak java.io. Dosya;
- Yeni klasörünüzün göreli yolunu kullanarak yeni bir Dosya nesnesi oluşturun.
Dosya dizini = yeni Dosya("Yeni Dizin");
- Bu dizindeki tüm dosyaların listesine erişmek için listFiles() işlevini kullanın.
Dosya[] listOfFiles = directory.listFiles();
için (Dosya dosyası: listOfFiles) {
System.out.println (dosya);
} - kullanarak programı yeniden derleyin ve çalıştırın. javac ve java komutlar.
Dosyalar Başka Bir Konuma Nasıl Kopyalanır
Dosyaları kopyalamanın birden çok yolu vardır. Dosyaları kopyalamanın yaygın bir yolu (özellikle Java 7 ve Java.nio.file paketinden önce), FileInputStream veya FileOutputStream sınıflarını kullanmaktır.
- bu DosyaGirdi Akışı class, bir dosyadan bayt okumak için bir giriş akışı açmanıza izin verir.
- bu DosyaÇıkışAkış class, bir dosyaya bayt yazmak için bir çıktı akışı açmanıza izin verir.
Dosyaları kopyalarken, fikir bir giriş ve çıkış akışı açmaktır. Bu akışları kullanarak, dosyanın baytlarını kaynak konumda okuyacak ve ardından bu baytları yeni konuma yazacaksınız.
Bu örnek, java.nio.file paketinin Files sınıfından copy() işlevini kullanarak dosyaları kopyalamak için daha yeni bir uygulama kullanacaktır. Java.nio.file paketini kullanmak için Java 7 veya üzerinin kurulu olması gerekir.
- Dosyanın en üstünde, Java.nio.file paketinden File ve Path sınıflarını içe aktarın.
içe aktarmak java.nio.file. Dosyalar;
içe aktarmak java.nio.file. Yollar; - adlı yeni bir dosya ekleyin. FileToCopy.txt Java dosyanızla aynı dizinde. main() işlevinde, o dosyanın göreli yolunu bildirin.
String copySource = "FileToCopy.txt";
- adlı yeni bir Klasör oluşturun. Yeni dosya, dosyayı kopyalamak için. main() işlevinde hedefe göreli yolu ekleyin.
String copyDestination = "NewFolder/FileToCopy.txt";
- Dosyayı kaynağından hedefe kopyalamak için copy() yöntemini kullanın.
denemek {
Files.copy (Paths.get (copySource), Paths.get (copyDestination));
} tutmak(İstisna e) {
System.out.println("Özellikler dosyası şuraya kopyalanamadı: " + copyDestination
+ ". Kontrol eğer klasör veya dosya zaten var.");
} - kullanarak programı yeniden derleyin ve çalıştırın. javac ve java komutlar.
- Programın dosyanızı kopyaladığını onaylamak için Yeni Klasörü açın.
Dosyalar veya Klasörler Nasıl Taşınır
kullanarak dosya veya klasörleri taşıyabilirsiniz. hareket() java.nio.file paketinin de bir parçası olan Files sınıfındaki işlev.
- adlı yeni bir klasör oluşturun. DirectoryToMove Java dosyanızla aynı klasörde.
- adlı ikinci bir klasör oluşturun. Yeni direktör aynı klasörde. Programın orijinal klasörü taşıyacağı yer burasıdır.
- Taşımak istediğiniz dizin ve onu taşımak istediğiniz konum için File nesneleri oluşturun:
Dosya moveSource = yeni File("DirectoryToMove");
Dosya moveDestination = yeni File("NewDirectory/DirectoryToMove"); - Kullan Dosyalar.hareket() dosyayı kaynaktan hedefe taşıma yöntemi:
denemek {
Files.move (moveSource.toPath(), moveDestination.toPath());
System.out.println("Dizin başarıyla taşındı.");
} tutmak (IOException ex) {
ex.printStackTrace();
} - kullanarak programı yeniden derleyin ve çalıştırın. javac ve java komutlar.
- "DirectoryToMove" klasörünün artık içinde olduğunu görmek için NewDirectory klasörünü açın.
Dosya Nasıl Silinir
kullanabilirsiniz silmek() Belirli bir dosyayı silmek için File sınıfından yöntem.
- adlı bir dosya oluşturun FileToDelete.txt. Dosyayı Java uygulamanızla aynı klasöre kaydedin.
- Silmek istediğiniz dosya için yeni bir Dosya nesnesi oluşturun. Ardından, dosyayı silmek için delete() yöntemini kullanın. Silme yöntemi, silme işleminin başarılı olup olmadığına bağlı olarak doğru veya yanlış bir değer döndürür.
Dosya fileToDelete = yeni File("FileToDelete.txt");
eğer (fileToDelete.delete()) {
System.out.println("Dosya başarıyla silindi.");
} başka {
System.out.println("Dosya silinemedi.");
}
Dosyalar Nasıl Sıkıştırılır
Zip arşivi oluşturmanın birçok yolu vardır. birkaç sıkıştırılmış dosya içeren. Bu örnek, ZipOutputStream ve ZipGirişi sınıflar.
- Dosyanın en üstünde gerekli ZipOutputStream, ZipEntry ve FileOutputStream sınıflarını içe aktarın.
içe aktarmak java.util.zip. ZipOutputStream;
içe aktarmak java.util.zip. ZipEntry;
içe aktarmak java.io. FileOutputStream; - Zip dosyasını ve sıkıştırmak istediğiniz metin dosyalarını temsil eden zipEntry nesnelerinin bir listesini oluşturun. Bu örnek yeni metin dosyaları oluşturacaktır, ancak komut dosyasını daha sonra zaten var olan metin dosyalarını içerecek şekilde değiştirebilirsiniz.
Dosya zipFile = yeni Dosya("ZippedFile.zip");
ZipEntry[] zipEntries = yeni ZipEntry[] {yeni ZipEntry("zipFile1.txt"),
yeni ZipEntry("zipFile2.txt"), yeni ZipEntry("zipFile3.txt"}); - Zip dosyasına veri yazmak için zip çıktı akışını oluşturun.
ZipOutputAkış çıkışı = yeni ZipOutputStream(yeni FileOutputStream (zipFile));
- Her dosyayı zip klasörüne ekleyin ve akışı kapatın.
için (ZipEntry zipEntry: zipEntries) {
out.putNextEntry (zipEntry);StringBuilder sb = yeni StringBuilder();
sb.append("Metin Dosyasının İçindekiler");bayt[] veri = sb.toString().getBytes();
out.write (veri, 0, veri.uzunluk);
out.closeEntry();
}dışarı.kapat();
- kullanarak programı yeniden derleyin ve çalıştırın. javac ve java komutlar. Dosya dizininizde yeni zip klasörünün göründüğünü göreceksiniz.
Java ile Basit Görevleri Otomatikleştirme
Yinelenen dosya yöneticisi görevlerini programlı olarak tamamlamak için bir komut dosyası kullanabilirsiniz. Bu görevler, dosyalara erişme, kopyalama, taşıma, silme ve sıkıştırma işlemlerini içerir.
Yinelenen görevleri otomatikleştirmenin başka bir yolu da bir komut dosyasında sistem komutlarını kullanmaktır. Linux ve macOS'ta bu tür dosyalar kabuk komut dosyaları olarak bilinirken, Windows bunlara toplu komut dosyaları olarak atıfta bulunur.