Sorunun ne yaptığını Kaynak sınıfı anlamak olduğunu düşünüyorum. Kodunuzdan kaynak FileFromFile bir dosyanın içeriğini gerçekten ne yaptığını bir dosyanın başlangıcını işaret etmek için aldığını beklediğiniz gibi görünüyor.
Bu, bir kaynakla "bağlantı" açmanız gereken (bu durumda dosya sisteminizle bir bağlantı) açmak zorunda olduğunuz G/Ç işlemleriyle çalışırken tipiktir, birkaç kez oku/yaz ve ardından bu "bağlantıyı" kapatın. Örneğinizde bir dosyaya bir bağlantı açarsınız ve sonuna kadar ulaşana kadar dosyanın içeriğini satır başına satır okumalısınız. Bilgiyi okuduğunuzda, belleğe bilgi yüklediğinizi düşünün. Bu yüzden, tüm dosyaları, senaryoların çoğunda belleğe yüklemek iyi bir fikir değildir (mkString bunu yapar).
Diğer taraftan mkString, bir koleksiyonun tüm öğeleri üzerinde yineleme yapmak için yapılır, bu durumda, dosyanın okunması ve bir Array [String] belleğe yüklenmesidir. Dikkatli olun çünkü dosya büyükse kodunuz başarısız olacaktır, normalde G/Ç ile çalışırken, bazı içeriği okumak için bir arabellek kullanmanız, sonra içeriği kaydedip kaydetmeniz ve daha fazla içerik yüklemeniz (aynı tamponda), sorunlardan kaçınmanız gerekir. hafıza ile. > Ayrıştırma - - 5 satırları okurken Örneğin> ayrıştırılan satırları kaydetmek -> okumak önümüzdeki 5 satır -> vb
Ayrıca "toString" sana bir şey alır anlayabiliyorum
... sadece sen "anlatır satırları okuyabilir, dosya boş değil ".
FYI, hiç kimse bu noktalı virgülleri satırın sonunda yazmaz. –
İlgili dokümanları bulmakta sorun mu yaşıyorsunuz? Tam olarak ne fark olduğunu söylerler. İlk adım, bunları yerel dosya sisteminizde bulmak ve tarayıcınızda yer işareti koymaktır. –
Truthfully, 'toString' bir hata ayıklama yöntemidir. Gerçek amaç, tüm nesneleri yazdırılabilir yapmaktır, böylece hata ayıklama mesajları/hata ayıklayıcıları bir şey gösterebilir. –