Java-де InputStream-ді жабу керек пе?
Java-де InputStream-ді жабу керек пе?

Бейне: Java-де InputStream-ді жабу керек пе?

Бейне: Java-де InputStream-ді жабу керек пе?
Бейне: Обзор Java Database Connectivity. JDBC и Hibernate. Урок 1 2024, Желтоқсан
Anonim

2 Жауаптар. Сіз жабу керек the енгізу ағыны , себебі сіз айтқан әдіс арқылы қайтарылған ағын шын мәнінде FileInputStream немесе басқа ішкі сынып болып табылады. InputStream бұл файл үшін дескрипторды ұстайды. Егер де сен істеу емес жабық бұл сізге ағын бар ресурстардың ағуы.

Осыны ескере отырып, Java-де InputStream-ді жабу қажет пе?

Бірақ енгізу ағыны s ешқашан жабылмайды. Бұл дербес Java бағдарламалар және бірнеше осындай бағдарламалар бар InputStream ешқашан жабылмайды. Әдетте файл болған кезде жабылады InputStream нысан қоқыс жиналады немесе бағдарлама аяқталғанда. Әдетте мұндай нәрселерді ашық қалдыру жақсы идея емес.

Сондай-ақ, неге Java-дағы ағындарды жабуымыз керек? Бұл маңызды ағындарды жабу , оның шектеулі ресурсы ретінде осы класс ұстанатын және розетка қосылымында да, файлды өңдеуде де пайдаланылатын файл дескрипторын шығару үшін. Күрделі ресурстың ағып кетуі файл дескрипторының ерекшелігіне де әкелуі мүмкін.

Екіншіден, FileInputStream-ді жабу керек пе?

Иә, сен жабу керек кіріс ағыны, егер сіз келеді сіздің жүйелік ресурстарыңыз қайтарылды. FileInputStream . жабық () сіз қандайсыз қажет . Сіз де жабу керек () немесе бағдарламаңызды аяқтаңыз.

Маған ByteArrayInputStream жабу керек пе?

4 Жауаптар. Сізге қажеті жоқ ByteArrayInputStream жабыңыз , кез келген айнымалымен сілтеме жасалмаған кезде, қоқыс жинаушы ағынды және кейбір байтты шығарады (әрине, олар басқа жерде сілтеме жасалмаған болса).

Ұсынылған: