JavaScript Temelleri

Bölüm 16

Diske Erişim (JScript Özelliği- Sadece Internet Explorer-)

Bölüm 16 Sayfa 2

16.2 -- Disk Dosyalarının Yönetimi

16.2.1 - Bir Dosyaya Sözel Verilerin Yazılması

İlk uygulamalarla diskte boş bir sözel veri dosyası açılması gerçekleştirilmişti. Bu bölümde, açılmış olan bu boş dosya için bir sözel veri akımın yazılması incelenecektir. Dikkat edilecek konu, bir sözel veri dosyasına, yeni bir veri akımı yazıldığında, dosya içinde tüm bilgilerin silineceği ve yerlerini yeni yazılan sözel veri akımının alacağıdır. Bu nedenle, veri dosyalarının sadece ilk bilgileri dosyaya yazılır. Eski verilerin silinmesi istenmediğinde bilgiler dosyaya eklenir (append) ve asla yazma metotları kullanılmaz.

Dosyaya yazım işlemin ilk örnek programı, aşağıda görülen, yaz.htm programıdır. Bu program, karşılıklı etkileşimli (interaktif) bir programdır. Gerek bilgilerin yazılacaği disk dosyasının yeri, gerekse yazılacak sözel veri akımı, ekrana girilecektir. Bu program verileri yeni bir satıra yazacak ve sözel veri akımı tamamlandığında bir satır sonu işareti ekleyerek, yeni bir satıra geçerek yazım işlevini tamamlayacak ve dosyayı kapatacaktır. Verilerin, dosyaya tek bir satır halinde yazılması, hem veri yazımı hem de dosyadan verilerin geri okunması için kolaylık sağlayan bir yöntem olduğundan başlangıç uygulaması için bu yöntem seçilmiştir. Program aşağıda görülmektedir :

/* <![CDATA[  */  

function yaz() {

var varsayılan = -2, Unicode = -1, ASCII = 0;
var saltOkunur = 1, okunurYazılır = 2, ekleme = 8;
var saltEskiDosya = false, dosyaYoksaYarat = true;
var dosyaSistemNesnesi = new ActiveXObject('Scripting.FileSystemObject');
var dosyaYeri = document.getElementById('dosyaYeri').value;
var sözelVeri = document.getElementById('veri').value;
var dosya = dosyaSistemNesnesi.OpenTextFile(dosyaYeri, okunurYazılır, saltEskiDosya, Unicode);

dosya.WriteLine(sözelVeri);
dosya.Close();

if (dosya) {
bilgiYaz(dosyaYeri + 'Dosyası Açıldı !', 'dosyaAçıldı');
bilgiYaz('Veriler Dosyaya Yazıldı !', 'verilerYazıldı');
bilgiYaz('Dosya Kapandı !', 'dosyaKapandı');
}

}

function başlat() {
var a = document.getElementById('yarat');
a.onclick = yaz;
}

sayfaYüklendiktenSonraÇalıştır(başlat);

/* ]]> */
		

Yukarıda görülen yaz.htm programı, önce bir dosya sistem nesnesi örneği yaratmakta ve buradan dosya sistem nesnesinin OpenTextFile() metodunu çağırmaktadır. Bu metot geriye bir TextStream nesnesi döndürmekte ve bu nesnesin dosya yönetim metotlarından WriteLine() metodu kullanılmaktadır.

Alternatif olarak, dosya sistem nesnesinden, önce dosya nesnesi, sonra dosya nesnesinin Open AsTextStream() metodu çağrılabilir. Bu metot da geriye bir TextStream nesnesi döndürmekte olduğundan nesnenin tüm dosya yönetim metotları gibi WriteLine() metodu da kullanılabilir ve sonuçta aynı şekilde dosyaya veriler yazılmış olur. Bu alternatif yöntemin kodları, dosyayaYaz.htm programı olarak aşağıda görülmektedir:

/* <![CDATA[  */  

function dosyayaYaz() {

var varsayılan = -2, Unicode = -1, ASCII = 0;
var saltOkunur = 1, saltYazılır = 2, ekleme = 8;
var dosyaSistemNesnesi = new ActiveXObject('Scripting.FileSystemObject');
var dosyaYeri = document.getElementById('dosyaYeri').value;
var sözelVeri = document.getElementById('veri').value;
var dosyaNesnesi = dosyaSistemNesnesi.GetFile(dosyaYeri);
var dosya = dosyaNesnesi.OpenAsTextStream(saltYazılır, unicode);

dosya.WriteLine(sözelVeri);
dosya.Close();

if (dosya) {
bilgidosyayaYaz(dosyaYeri + 'Dosyası Açıldı !', 'dosyaAçıldı');
bilgidosyayaYaz('Veriler Dosyaya dosyayaYazıldı !', 'verilerdosyayaYazıldı');
bilgidosyayaYaz('Dosya Kapandı !', 'dosyaKapandı');
}

}

function başlat() {
var a = document.getElementById('yarat');
a.onclick = dosyayaYaz;
}

sayfaYüklendiktenSonraÇalıştır(başlat);

/* ]]> */
		

16.2.2 - Bir Dosyadan Bilgi Okunması

Önceden oluşturulmuş olan bir dosyadan bilgi okunması, aşağıdaki işlem sırası ile gerçekleşir:

Diskte önceden oluşturulmuş olan bir dosyanın içeriğinin okunması, TextStreamObject nesnesinin sözel verlerin dosyalanması için öntanımlı metotlarının kullanılması ile gerçekleşir. TextStreamObject Nesnesinine FileSystemObject nesnesinin, OpenTextFile metodu, veya File nesnesinin, OpenAsTextStream metodu ile erişilebilir. Biz genel olarak ilk yöntemi izleyeceğiz.

İlk örnek olarak, kodlarının script kısmı aşağıda görülmekte olan, tümBilgileriOku.htm örneği incelenecektir. Bu örnekte, dosyadan bilgi okunması için, FileSystemObject nesnesinin OpenTextFile metodundan yararlanılmıştır. Bu metot, yeni bir dosya oluşturulması ve oluşmuş bir dosyaya veri eklenmesi yanında, dosyadan veri okunması amacı ile de kullanılabilen çok esnek ve etkili bir metottur.

/* <![CDATA[  */  

function tümBilgileriOku() {

var varsayılan = -2, Unicode = -1, ASCII = 0;
var saltOkunur = 1, okunurYazılır =2, ekleme = 8;
var dosyaSistemNesnesi = new ActiveXObject('Scripting.FileSystemObject');
var dosyaYeri = document.getElementById('dosyaYeri').value;
var saltEskiDosya = true, dosyaYoksaYarat = false;

var dosya=dosyaSistemNesnesi.OpenTextFile(dosyaYeri, saltOkunur, saltEskiDosya, Unicode);
var bilgiler=dosya.ReadAll();
dosya.Close();

if (dosya) {
bilgiYaz(dosyaYeri + 'Dosyası Açıldı !', 'dosyaAçıldı');
bilgiYaz(dosyaYeri + 'Dosyasındaki Bilgiler Okundu !', 'dosyaOkundu');
bilgiYaz(dosyaYeri + 'Dosyası Kapandı !', 'dosyaKapandı');

bilgiYaz('Dosyadaki Sözel Veriler', 'başlık');
bilgiYaz(bilgiler, 'dosyaVerileri');
}
}

function başlat() {
var a = document.getElementById('oku');
a.onclick =tümBilgileriOku;
}

sayfaYüklendiktenSonraÇalıştır(başlat);

/* ]]> */
		

Programda, dosyadaki bilgilerin tümü, okunan adlı bir karakter dizgisine yerleştirilmiştir. Bu karakter dizgisinden bilgilerin nasıl ekstrakte edileceği, tamamen kullanıcının geliştireceği yöntemlerle yapılmalıdır.

İkinci örnek, kullanıcı diskindeki bir metin dosyasının açılması için, File nesnesinin, OpenAsTextStream() metodunu kullanan, bilgioku.htm programıdır. Bu metot, yeni bir dosya oluşturmak için kullanılabildiği gibi, var olan bir dosyaya bilgi eklemek için de kullanılabilir. Bu metodun kullanıldığı bilgioku.htm programının JScript kısmı aşağıda görülmektedir :

/* <![CDATA[  */  

function bilgiOku() {

var varsayılan = -2, Unicode = -1, ASCII = 0;
var saltOkunur = 1, saltYazılır = 2, ekleme = 8;
var dosyaSistemNesnesi = new ActiveXObject('Scripting.FileSystemObject');
var dosyaYeri = document.getElementById('dosyaYeri').value;
var dosyaNesnesi = dosyaSistemNesnesi.GetFile(dosyaYeri);
var dosya = dosyaNesnesi.OpenAsTextStream(saltOkunur, Unicode);
var bilgiler = dosya.ReadAll();
dosya.Close();

if (dosya) {
bilgiYaz(dosyaYeri + 'Dosyası Açıldı !', 'dosyaAçıldı');
bilgiYaz(dosyaYeri + 'Dosyasındaki Bilgiler Okundu !', 'dosyaOkundu');
bilgiYaz(dosyaYeri + 'Dosyası Kapandı !', 'dosyaKapandı');
bilgiYaz('Dosyadaki Sözel Veriler', 'başlık');
bilgiYaz(bilgiler, 'dosyaVerileri');
}
}

function başlat() {
var a = document.getElementById('bilgiOku');
a.onclick = bilgiOku;
}

sayfaYüklendiktenSonraÇalıştır(başlat);

/* ]]> */

Bu program, ReadAll metodunu kullanmaktadır. İstenirse, Read veya ReadLine gibi metotlar da kullanılabilir. Okunmuş bilgilerin kullanılmaları, kullanıcı tarafından geliştirilecek olan yeni program adımları ile gerçekleştirilir.

Bir başka örnek olarak, dosyaya yazılmış olan bir sözel veri akımındaki tüm karakterlerin sayılması yapılacaktır. Dosyaya yazılmış olan tüm sözel verilerin toplam karakter sayısının belirlenmesi çok kolaydır. Bunun için iki yöntem kullanılabilir. Bunlardan ilki, bir karakter dizigisinin toplam karakter sayısını döndüren, String nesnesinin öntanımlı length() metodunun uygulanmasıdır. Bunun için geliştirilmiş olan uygulamanın kodları aşağıda verilmiştir.

/* <![CDATA[  */  

function toplamUzunluk1() {

var varsayılan = -2, Unicode = -1, ASCII = 0;
var saltOkunur = 1, okunurYazılır =2, ekleme = 8;
var dosyaSistemNesnesi = new ActiveXObject('Scripting.FileSystemObject');
var dosyaYeri = document.getElementById('dosyaYeri').value;
var saltEskiDosya = true, dosyaYoksaYarat = false;
var bilgiler = '';
var say = 0;
var dosya=dosyaSistemNesnesi.OpenTextFile(dosyaYeri, saltOkunur, saltEskiDosya, Unicode);


if (dosya) {

bilgiler  = dosya.ReadAll();
dosya.Close();

bilgiYaz(dosyaYeri + 'Dosyası Açıldı !' , 'dosyaAçıldı');
bilgiYaz(dosyaYeri + 'Dosyasındaki Bilgiler Okundu !', 'dosyaOkundu');
bilgiYaz(dosyaYeri + 'Dosyası Kapandı !', 'dosyaKapandı');

bilgiYaz('Dosyadaki Sözel Veriler', 'başlık');
bilgiYaz(bilgiler, 'dosyaVerileri');
bilgiYaz('Dosyadaki Sözel Verilerdeki Tüm Karakterlerin Sayısı (Boşluklar ve Satır Sonu Karakterleri Dahil)', 'karakter');
bilgiYaz(bilgiler.length, 'toplamUzunluk1');
}
}

function başlat() {
var a = document.getElementById('oku');
a.onclick = toplamUzunluk1;
}

sayfaYüklendiktenSonraÇalıştır(başlat);

/* ]]> */
		

Toplam karakter sayısının belirlenmesi için kullanılabilecek olan ikinci yöntem, TextStreamObject nesnesinin dosya içeriğinin sonuna kadar okunmasını sağlayan AtEndOfStream() metodudur. Bu yöntemin kullanıldığı bir programın kodları aşağıda görülmektedir.

/* <![CDATA[  */  

function toplamUzunluk2() {

var varsayılan = -2, Unicode = -1, ASCII = 0;
var saltOkunur = 1, okunurYazılır =2, ekleme = 8;
var dosyaSistemNesnesi = new ActiveXObject('Scripting.FileSystemObject');
var dosyaYeri = document.getElementById('dosyaYeri').value;
var saltEskiDosya = true, dosyaYoksaYarat = false;
var bilgiler = '';
var say = 0;
var dosya=dosyaSistemNesnesi.OpenTextFile(dosyaYeri, saltOkunur, saltEskiDosya, Unicode);


if (dosya) {

bilgiler  = dosya.ReadAll();
dosya.Close();

bilgiYaz(dosyaYeri + 'Dosyası Açıldı !', 'dosyaAçıldı');
bilgiYaz(dosyaYeri + 'Dosyasındaki Bilgiler Okundu !', 'dosyaOkundu');
bilgiYaz(dosyaYeri + 'Dosyası Kapandı !', 'dosyaKapandı');

bilgiYaz('Dosyadaki Sözel Veriler', 'başlık');
bilgiYaz(bilgiler, 'dosyaVerileri');
}

dosya = dosyaSistemNesnesi.OpenTextFile(dosyaYeri, saltOkunur, saltEskiDosya, Unicode);

if (dosya) {

while( ! dosya.AtEndOfStream) {
dosya.Read(1);
say ++;
}

dosya.Close();

bilgiYaz(dosyaYeri + 'Dosyası Yeniden Açıldı !', 'dosyaYenidenAçıldı');
bilgiYaz(dosyaYeri + 'Dosyasındaki Karakterler Sayıldı !', 'dosyaYenidenOkundu');
bilgiYaz(dosyaYeri + 'Dosyası Kapandı !', 'dosyaİkinciKezKapandı');

bilgiYaz('Dosyadaki Sözel Verilerin Karakter Sayısı (Boşluklar Dahil)', 'karakter');
bilgiYaz(say, 'toplamUzunluk2');
}
}

function başlat() {
var a = document.getElementById('oku');
a.onclick = toplamUzunluk2;
}

sayfaYüklendiktenSonraÇalıştır(başlat);

/* ]]> */
		

Program kodlarında görüldüğü gibi, kullanıcı diskindeki bir metin dosyasının açılması için, dosya sistem nesnesinin OpenTextFile metodu kullanılmıştır. Dosya açıldıktan sonra bilgilerin okunması için Read metodu kullanılmaktadır. Dosyadan bilgi okunması bir while dongüsü içinde organize edilmiştir. Dosyada okunan her karakter sayacın değerini bir tamsayı arttırmakta, döngü, dosya sonuna ulaşılıncaya kadar devam etmektedir. Dosya sonu, dosya değişkeninin atEndOfStream özelliğinin değerinin kontrolü ile belirlenmektedir. Bu kontrol, dosyanın tüm içeriğinde okunabilecek karakter bulundukça true değerini korumaktadır. Bu nedenle tüm, boşluklar, satır sonu karakterleri, toplam sayaç değerine katılmaktadır. Sonuçta, sözel veri akımın içerdiği toplam karakter sayısı, sayacın değeri ile belirlenmektedir.

Son programda dikkat edilmesi gereken bir nokta, dosyadaki okunacak karakteri işaret eden dosya göstergesinin iyi izlenmesi gereğidir. Dosya göstergesi, dosyadaki her karakter okundukça bir ilerler ve sözel doyalarda geri hareketi yoktur. Bu nedenle, dosya ilk açıldığında, veriler dosya sonuna kadar okunduğundan, dosya göstergesi, dosyanın sonuna dayanmıştır. Dosyadaki karakterlerin sayılması için, dosya göstergesinin yeniden dosya başına alınması gerekir. Bu olaya dosyanın tazelenmesi (reset) adı verilir. Bazı programlama dillerinde sözel dosyaların açık iken reset edilmesi için özel komut olmasına karşın, Javascript programlama dilinde bu olanak yoktur. Bu nedenle dosya kapanıp yeniden açılarak reset edilmekte, yani dosya göstergesi yeniden dosyanın başına alınarak, verilerin yeniden dosya başından başlayarak okunması sağlanmaktadır.

Yukarıdaki her iki örnekte de, dosyada bulunan tüm sözel veri akımı okunmakta olduğundan dosya içindeki satırsonu karakterleri de sözel veri olarak sayılmaktadır. Daha gerçekçi bir değerin saptanması için sözel verilerin dosyadaki biçiminin (format) gözönüne alınması gerekir.

Bir dosyanın belirli bir biçime göre okunabilmesi için, verilerin dosyaya yazıldığı programın bilinmesi gerekir. Örnek olarak, yaz.htm programı, sözel verilerin dosyaya yazılması için, WriteLine() metodunu kullanmaktadır. Bunun anlamı, dosyaya yazılan sözel veri akımın, sadece bir tek satırdan oluşacağıdır. Çünkü, WriteLine() metodu, verilerin yazıldığı dosyadaki tüm verileri silmekte ve tek satırdan oluşan bir sözel veri akımını dosyaya yazmaktadır. Verilerin tek satır olarak yazıldığı bir dosyada, yazılı olan verilerin -boşluk karakterleri dahil- toplam karakter sayısının gerçekçi olarak saptanması için, ReadLine() metodunun kullanılarak tek bir satırın okunması daha uygun olacaktır. Kodları aşağıda görülen, karaktersay1.htm programı bu yöntemi kullanmaktadır.

/* <![CDATA[  */  

function karaktersay1() {

var varsayılan = -2, Unicode = -1, ASCII = 0;
var saltOkunur = 1, okunurYazılır =2, ekleme = 8;
var dosyaSistemNesnesi = new ActiveXObject('Scripting.FileSystemObject');
var dosyaYeri = document.getElementById('dosyaYeri').value;
var saltEskiDosya = true, dosyaYoksaYarat = false;
var bilgiler = '';
var say = 0;
var dosya=dosyaSistemNesnesi.OpenTextFile(dosyaYeri, saltOkunur, saltEskiDosya, Unicode);


if (dosya) {

bilgiler  = dosya.ReadLine();
dosya.Close();

bilgiYaz(dosyaYeri + 'Dosyası Açıldı !' , 'dosyaAçıldı');
bilgiYaz(dosyaYeri + 'Dosyasındaki Bilgiler Okundu !', 'dosyaOkundu');
bilgiYaz(dosyaYeri + 'Dosyası Kapandı !', 'dosyaKapandı');

bilgiYaz('Dosyadaki Sözel Veriler', 'başlık');
bilgiYaz(bilgiler, 'dosyaVerileri');
bilgiYaz('Dosyadaki Sözel Verilerdeki Tüm Karakterlerin Sayısı (Boşluklar ve Satır Sonu Karakterleri Dahil)', 'karakter');
bilgiYaz(bilgiler.length, 'karakterSayısı');
}
}

function satırOku1() {
var a = document.getElementById('oku');
a.onclick = karaktersay1;
}

sayfaYüklendiktenSonraÇalıştır(satırOku1);

/* ]]> */
		

Yukarıdaki karakterSay1 () fonksiyonu, uzunluk1 fonksiyonu ile aynı gibidir, sadec e tüm dosyayı tarayan ReadAll () metodu yerine, sadece tek bir satırı tarayan ReadLine() metodu kullanılmıştır. Bu yüzden her iki fonksiyonun verdiği sonuçlarının ilkinde tüm boşluk ve satır sonu karakterleri de dahil iken, ikincisinin karakter sayısı sonucunda sadece tek satırdaki verinin boşluk karakterleri dahildir. Bu karakterler de, sonucun taranarak boşluk karakterlerinin saptanması ile kolayca sayılabilirler.

Tek satır verilerinin sayılabilmesi için başka bir metot, aynı uzunluk2() fonksiyonunda yapıldığı gibi dsya içeriğinin, dosya sonuna kadar sayılmasıdır. Bu metot, tek satır verilerinin yerleştirilmiş olduğu dosyalarda, dosya sonuna kadar değil, satır sonuna kadar taratılarak, daha geliştirilebilir. Aşağıda bu konuda bir karakterSay2 () fonksiyonunun yazılımı görülmektedir:

/* <![CDATA[  */  

function karakterSay2() {

var varsayılan = -2, Unicode = -1, ASCII = 0;
var saltOkunur = 1, okunurYazılır =2, ekleme = 8;
var dosyaSistemNesnesi = new ActiveXObject('Scripting.FileSystemObject');
var dosyaYeri = document.getElementById('dosyaYeri').value;
var saltEskiDosya = true, dosyaYoksaYarat = false;
var bilgiler = '';
var say = 0;
var dosya=dosyaSistemNesnesi.OpenTextFile(dosyaYeri, saltOkunur, saltEskiDosya, unicode);


if (dosya) {

bilgiler  = dosya.ReadLine();
dosya.Close();

bilgiYaz(dosyaYeri + 'Dosyası Açıldı !', 'dosyaAçıldı');
bilgiYaz(dosyaYeri + 'Dosyasındaki Bilgiler Okundu !', 'dosyaOkundu');
bilgiYaz(dosyaYeri + 'Dosyası Kapandı !', 'dosyaKapandı');

bilgiYaz('Dosyadaki Sözel Veriler', 'başlık');
bilgiYaz(bilgiler, 'dosyaVerileri');
}

dosya = dosyaSistemNesnesi.OpenTextFile(dosyaYeri, saltOkunur, saltEskiDosya, Unicode);

if (dosya) {

while( ! dosya.AtEndOfLine) {
dosya.Read(1);
say ++;
}

dosya.Close();

bilgiYaz(dosyaYeri + 'Dosyası Yeniden Açıldı !', 'dosyaYenidenAçıldı');
bilgiYaz(dosyaYeri + 'Dosyasındaki Karakterler Sayıldı !', 'dosyaYenidenOkundu');
bilgiYaz(dosyaYeri + 'Dosyası Kapandı !', 'dosyaİkinciKezKapandı');

bilgiYaz('Bir Satırdaki Verilerin Karakter Sayısı (Boşluklar Dahil)', 'karakter');
bilgiYaz(say, 'karakterSayısı');
}
}

function satırSay2() {
var a = document.getElementById('oku');
a.onclick = karakterSay;
}

sayfaYüklendiktenSonraÇalıştır(satırSay2);

/* ]]> */

Dördüncü ve son örnek, bir sözel veri dosyasından istenilen karakterlerin okunmasını yapan bir program olan, aşağıda kodları görülen, kripto.htm olarak kaydedilmiş olan programdır.

kripto.htm Programı ilginçtir ve gizli bilgilerin başkalarına gizlice aktarılmasına bir örnek olarak yazılmıştır. Program en iyisi bir CD veya parmak bellek veya bir floppy disk gibi yok edilebilecek bir ortama kaydedilmelidir. Program çalıştığında, dünyanın her yerinde bir sunucu üzerinde olan, ilk bakışta çok masum görülen bir sözel veri dosyasının tüm verilerini okumakta ve okuma tamamlandığında, dosyayı kapatıp sunucudan silmektedir. Dosyadan okunan sözel veriler, bir karakter dizgisi değişkenine atanmakta ve sayfanın ilgili sözel veri kutusuna girilen bir şifre düzenine göre belirli bir yöntemle, fakat dosya göstergesi sürekli ileriye doğru hareket ettirilerek okunmakta ve oluşan sonuç ekranda gösterilmektedir. Program sonucunun okunmasından sonra, taşınabilir disk çıkarılıp tahrip edilirse, program sonsuza kadar ortadan kaldırılmış olacaktır.

kripto.htm Programının kodları, aşağıda görülmektedir. Bu programın çalışatırılması için gerekli dosya kripto.txt dosyasıdır. Bu dosya, çalıştırılacağı dizine taşınmalı ve her defasında aynı yere yeniden kopyalanmalıdır. Şifre, 1381322 dir.


/* <![CDATA[  */  

function kripto() {
var varsayılan = -2, Unicode = -1, ASCII = 0;
var saltOkunur = 1, saltYazılır = 2, ekleme = 8;
var dosyaSistemNesnesi = new ActiveXObject('Scripting.FileSystemObject');
var dosyaYeri = 'f:/sites/novum/uygulamalar/kripto.txt';
var şifre = document.getElementById('şifre').value;
var dosyaNesnesi = dosyaSistemNesnesi.GetFile(dosyaYeri);
var dosya = dosyaNesnesi.OpenAsTextStream(saltOkunur, unicode);
var bilgi = '';
var a = 0, a = 0, b = 0, c = 0, d = 0, e = 0;
a = şifre.charAt(0);
Number(a);
b = şifre.charAt(1) + şifre.charAt(2) ;
var bilgiler=dosya.ReadAll();
Number(b);
c = şifre.charAt(3);
Number(c);
d = şifre.charAt(4) + şifre.charAt(5) ;
Number(d);
e = şifre.charAt(6);
Number(e);
if (dosya) {
bilgi = dosya.Read(a);
dosya.Skip(b);
bilgi= bilgi + dosya.Read(c);
dosya.Skip(d);
bilgi= bilgi + dosya.Read(e);
dosya.Close();
dosyaNesnesi.Delete();
bilgiYaz(bilgi, 'Sonuç');
bilgiYaz('Dosya Silindi !', 'uyarı');
}
}

function başlat() {
var a = document.getElementById('ŞifreyiOku');
a.onclick = kripto;
}

sayfaYüklendiktenSonraÇalıştır(başlat);

/* ]]> */
		

Program kodlarından da görüldüğü gibi kripto.htm programı, dosya nesnesinden yararlanılarak geliştirilmiştir. Dosya nesnesinin seçilmiş olmasının nedeni, bu yöntemin örneklerde az kullanılmış olması nedeni ile yeni bir uygulama örneği vermektir. Aynı program, dosya nesnesine gerek kalmadan, tümBilgileriOku.htm programı gibi, salt dosyaSistemNesnesi (FileSystemObject) kullanılarak da yazılabilir. Sadece bu durumda, dosyayı silmek için, dosyaSistemNesnesinin, DeleteFile() metodunun kullanılması gerekir.

Bu örnekle birlikte, metin dosyalarından veri okunmasına ait incelememiz tamamlanmış olmaktadır. JScript, dosyalama konusunda geniş bir destek sağlamaktadır. Burda bu olanaklardan sadece sınırlı olarak yararlanabilmiş durumdayız. fakat çalışılmış uygulamalar örnek alınarak, literatürün tümünü keşfetmek zor olmayacaktır. JScript sadece Windows işletim sistemi ailesinde ve Internet Explorer ile uygulanabilmektedir. Bu nedenle, dosyalama sistemlerinden yararlanacak projeler, ancak kısıtlı bir ortamda çalışabileceklerdir. Bunun kendi yöntemimizdeki ticari projeler için, hiçbir kısıtlayıcı durumu yoktur. Çünkü,projenin uygulanacağı ortamı projeyi yapan belirleyecektir. Zaten, şu anda büyük çoğunluk Windows ortamında çalışmaktadır. Windows ortamında çalışacak bir proje genel olarak çoğunluğun çalıştığı bir ortamda uygulanmış olacaktır.

Valid XHTML 1.1