Junior — Middle
Bayt məlumatları ilə işləyən axınlar ilə fayl sistemindən istifadə edən axınlar arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Java-da axınlar (Streams) müxtəlif növlərdə olur və bayt məlumatları ilə işləyən axınlar ilə fayl sistemindən istifadə edən axınlar arasındakı fərqləri başa düşmək vacibdir.
-
Bayt məlumat axınları (InputStream/OutputStream):
- Xam baytlarla işləyir.
- Şəkillər, audio, video və ya hər hansı ikili formatda faylların oxunması və yazılması üçün istifadə olunur.
- Nümunələr:
FileInputStream,BufferedInputStream,ByteArrayInputStream.
-
Fayl sistemindən istifadə edən axınlar (Reader/Writer):
- Simvollarla işləyir (mətn məlumatları).
- Kodlaşdırmanı nəzərə alaraq mətn fayllarını oxuma və yazma üçün nəzərdə tutulmuşdur.
- Nümunələr:
FileReader,BufferedReader,FileWriter.
Əsas fərq odur ki, bayt axınları işlənməmiş baytlarla işləyir, simvol axınları isə simvollarla, bu da mətnlə işləməyi asanlaşdırır və kodlaşdırmaları nəzərə alır.
Bayt axını ilə faylın oxunması nümunəsi:
try (FileInputStream fis = new FileInputStream("file.bin")) {
int data;
while ((data = fis.read()) != -1) {
// bayt data işlənməsi
}
}
Simvol axını ilə faylın oxunması nümunəsi:
try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
// sətir line işlənməsi
}
}
Buna görə, axın seçimi məlumatların növündən və tapşırıqdan asılıdır.