Junior — Middle
რა განსხვავებაა ბაიტების მონაცემებით მუშაობის ნაკადებსა და ფაილური სისტემის გამოყენებას შორის?
sobes.tech AI
პასუხი AI-სგან
Java-да ағыстар (Streams) төрлө төрө, һәм мөһиме — байтлы мәғлүмәттәр менән эшләүсе ағыстар менән файл системаһын ҡулланыусы ағыстар араһындағы айырмалығын аңлау.
-
Байтлы мәғлүмәттәр ағыстары (InputStream/OutputStream):
- Таза байттар менән эшләй.
- Бинар мәғлүмәттәрҙе уҡыу һәм яҙыу өсөн ҡулланыла, мәҫәлән, рәсемдәр, тауыш, видео йәки ниндәй ҙә булһа бинар форматтағы файлдар.
- Мисалдар:
FileInputStream,BufferedInputStream,ByteArrayInputStream.
-
Файл системаһын ҡулланыусы ағыстар (Reader/Writer):
- Белгестәр менән эшләй (текст мәғлүмәттәр).
- Текст файлдарын уҡыу һәм яҙыу өсөн проектланған, кодлауҙы иҫәпкә алып.
- Мисалдар:
FileReader,BufferedReader,FileWriter.
Иң төп айырма — байтлы ағыстар эшкәртелмәгән байттар менән эшләй, ә белгестәр ағыстары — белгестәр менән, был текст менән эшләүҙе еңелләштерә һәм кодлауҙарҙы иҫәпкә ала.
Байтлы файлды уҡыу өсөн мисал:
try (FileInputStream fis = new FileInputStream("file.bin")) {
int data;
while ((data = fis.read()) != -1) {
// байтты эшкәртеү
}
}
Белгестәр ағысын ҡулланып файлды уҡыу мисалы:
try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
// юлды эшкәртеү
}
}
Шулай итеп, ағысты һайлау мәғлүмәттәрҙең төрөнә һәм бурысҡа бәйле.