Bu programda, Java'daki belirli bir dosyanın bitişik kısımlarından bir dizi oluşturmak için farklı teknikler öğreneceksiniz.
Bu örneği anlamak için, aşağıdaki Java programlama konuları hakkında bilgi sahibi olmalısınız:
- Java Dizesi
- Java Dosya Sınıfı
Biz bir dosyadan bir dize oluşturmadan önce, biz bir dosya adında olduğunu varsayalım metin.txt bizim de src klasörünün.
İşte test.txt içeriği
Bu bir test dosyası.
Örnek 1: Dosyadan Dize Oluşturma
import java.io.IOException; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; public class FileString ( public static void main(String() args) throws IOException ( String path = System.getProperty("user.dir") + "\src\test.txt"; Charset encoding = Charset.defaultCharset(); List lines = Files.readAllLines(Paths.get(path), encoding); System.out.println(lines); ) )
Çıktı
(Bu bir test dosyası.)
Yukarıdaki programda, değişken yolunda saklanan geçerli dizini almak için System
's user.dir
özelliğini kullanıyoruz . Daha fazla bilgi için mevcut dizini almak için Java Programı'na bakın.
defaultCharset()
Dosyanın kodlaması için kullandık . Kodlamayı biliyorsanız kullanın, aksi takdirde varsayılan kodlamayı kullanmak güvenlidir.
Ardından, readAllLines()
dosyadaki tüm satırları okumak için yöntemi kullandık . Dosyanın yolunu ve kodlamasını alır ve çıktıda gösterildiği gibi tüm satırları bir liste olarak döndürür.
Yana readAllLines
da bir IOException atmak olabilir, biz gibi ana yöntem tanımlamak zorunda
public static void main (String () args) IOException oluşturur
Örnek 2: Dosyadan Dize Oluşturma
import java.io.IOException; import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Paths; public class FileString ( public static void main(String() args) throws IOException ( String path = System.getProperty("user.dir") + "\src\test.txt"; Charset encoding = Charset.defaultCharset(); byte() encoded = Files.readAllBytes(Paths.get(path)); String lines = new String(encoded, encoding); System.out.println(lines); ) )
Çıktı
Bu bir test dosyası.
Yukarıdaki programda, bir dizi listesi almak yerine, tüm içeriği ile tek bir dizi, satırlar elde ederiz.
Bunun için readAllBytes()
, verilen yoldan tüm baytları okumak için yöntemi kullandık . Bu baytlar daha sonra varsayılan kodlama kullanılarak bir dizeye dönüştürülür.