కంప్యూటర్లు, ప్రోగ్రామింగ్
జావా: InputStream. ఇన్పుట్ ప్రవాహాలు
జావా, అనేక ఆధునిక ప్రోగ్రామింగ్ భాషలు మాదిరిగా, డేటా ఇన్పుట్ ప్రవాహాలు అమలు మద్దతు. జావా లో InputStream బైట్ ప్రవాహాలు కోసం ఆధార తరగతి ఉంది. ఈ తరగతి ఉంది, కార్యక్రమం క్రమంలో మేము అది ఒక ఉదాహరణ సృష్టించడానికి కాదు, ఆబ్స్ట్రాక్ట్. అయితే, io ప్యాకేజీ వారసత్వంగా మరియు InputStream యొక్క విధులను విస్తరించాయి తరగతులు సమితి ఉంది. మీ కోడ్ లో ఈ తరగతి ఉపయోగించటానికి, ఇది java.io.InputStream ప్యాకేజీ నుండి దిగుమతి చేసుకుంటున్నారు. తరువాత, మేము ఒక InputStream తరగతి అందించే ప్రాథమిక కార్యాచరణను, మరియు అది అమలు చేసే ప్రధాన తరగతులు భావిస్తారు.
InputStream తరగతి పద్ధతులు
InputStream తరగతి పద్ధతులు ఒక వివరణాత్మక అధ్యయనం కొనసాగే ముందు, అది Closeable మరియు AutoCloseable ఇంటర్ఫేస్లు అమలుచేసే పేర్కొన్నారు చేయాలి. ఇంటర్ఫేస్ Closeable అది ప్రవాహం పని పూర్తయిన తరువాత తప్పనిసరిగా మూసివేయాలి అని మాకు చెబుతుంది. ఈ ఒక పద్ధతి సన్నిహిత ఉపయోగించి జరుగుతుంది (). లోపం విషయంలో InputStream తరగతి పద్ధతులు చాలా నుండి ఒక అసాధారణ పరిస్థితి రకాన్ని IOException,) ఒక ప్రయత్నంలోనే బ్లాక్ మరియు ఒక పద్ధతి దగ్గరగా (నిర్వహించడం ఇది కార్యకలాపం యొక్క ఫలితం ఆధారపడి జారారు తద్వారా శరీరం ప్రయత్నించండి చివరకు ఒక యూనిట్ చేయడానికి అవసరం అన్ని కార్యకలాపాలు ఉత్పత్తి.
AutoCloseable ఇంటర్ఫేస్ గణనీయంగా అది స్వయంచాలకంగా దగ్గరగా () పద్దతి పని అనుమతిస్తుంది మరియు చివరకు బ్లాక్ మీ కోడ్ జోడించడానికి లేదు నుండి, కోడ్ నిర్వహణ తగ్గుతుంది. మీరు జావా ఏడవ లేదా తరువాత వెర్షన్ ఉపయోగిస్తే, ఒక InputStream స్రవంతి మీద పడుతుంది మూసి అన్ని కార్యకలాపాలు వనరులలో అని పిలవబడే ప్రయత్నంలోనే లో అమరుస్తారు.
InputStream తరగతి ప్రాథమిక పద్ధతులు పరిగణించండి:
- అందుబాటులో పూర్ణాంకానికి () - బైట్లు యొక్క చదవడానికి సంఖ్య తిరిగి;
- పూర్ణాంకానికి చదవండి () - వనరు యొక్క ప్రస్తుత బైట్ తీసుకుంటుంది మరియు పూర్ణాంక ప్రాతినిధ్యం తిరిగి; అన్ని బైట్లు చదివితే, -1 తిరిగి;
- పూర్ణాంకానికి చదవండి (బైట్ [] బఫర్) - పుస్తకాలు బైట్లు లభించే బైట్ అర్రే రకం రూపంలో బఫర్ చెప్పారు (బైట్లు సంఖ్య పరిమాణం పేర్కొన్న సమానంగా స్వీకరించేందుకు చదవటానికి మరియు తిరిగి బైట్లు సంఖ్య విజయం చదవటానికి మరియు అందుబాటులో ఉన్న అన్ని బైట్లు చదివితే, -1 తిరిగి);
- పూర్ణాంకానికి చదవండి (బైట్ [] బఫర్, ఆఫ్సెట్ INT, బైట్లు Int సంఖ్య) - మునుపటి పద్ధతి ఓవర్లోడ్, అదే చేస్తుంది, కానీ ఒక నిర్దిష్ట "ఆఫ్సెట్" స్థానం మరియు "బైట్లు సంఖ్య" లో సెట్ వంటి చాలా చదువుతుంది;
- దీర్ఘ దాటవేయి (దీర్ఘ బైట్ లెక్కింపు) - బైట్లు దాటవేతలతో సంఖ్య మరియు తప్పిన వాస్తవ సంఖ్య తిరిగి.
InputStream వివిధ మూలాల మరియు డేటా యొక్క రకాల పని రూపొందించిన పలు తరగతుల అమలవుతుంది. క్రింద వారసత్వ చెట్టు చూపిస్తుంది.
ఫైళ్ళను చదవడానికి
ఫైళ్లు నుండి తరగతి FileInputStream అమలు డేటా చదవడానికి బైట్ ప్రవాహం. , బైట్లు, తరగతి యొక్క ఒక ఉదాహరణ సృష్టించడానికి తగినంత చదవడం ఒక వాదన గా ఫైల్ పేరు దాని తయారీదారు కు ప్రయాణిస్తున్న ఒక ఫైల్ తెరవండి. ఫైలు పేరు బదిలీ ఉంటే లేదు, అది రకం FileNotFoundException ఒక అసాధారణ పరిస్థితి త్రో కనిపిస్తుంది.
ఒక విజయవంతమైన ఓపెన్ ఫైలు యొక్క సందర్భంలో, వారితో పని పైన వివరించిన పద్ధతులు ఉపయోగించి, వారసుడు FileInputStream InputStream గా నిర్వహిస్తారు.
ఆదిమ డేటా రకాల పఠనం
పై ఉదాహరణలో చిహ్నాలుగా చెప్పవచ్చు, దీనిని బైట్ విలువలతో పని వివరిస్తుంది. కానీ మేము పూర్ణాంకం, పాక్షిక లేదా ఒక బూలియన్ విలువ చదవడానికి అవసరమైనప్పుడు? జావా InputStream లో దీన్ని పరోక్షంగా తరగతి DataInputStream విస్తరిస్తుంది. ఈ తరగతి ఒక తయారీదారు వాదన సృష్టిలో పంపబడ్డ ఇది InputStream, ఒక రేపర్ ఉంది. థ్రెడ్ ఈ రకమైన బైనరీ రూపంలో డేటా చదువుతుంది.
DataInputStream కూడా DataInput ఇంటర్ఫేస్ మరియు ఆదిమ డేటా రకాల చదవడానికి దాని పద్ధతుల అమలు. క్రింద ఈ పద్ధతులు జాబితా ఉంది.
విధానం పేర్లు వారిగురించి - వాటిని ప్రతి ఒక నిర్దిష్ట డేటా రకం చదవడానికి రూపొందించబడింది.
బఫర్ ఇన్పుట్ స్ట్రీమ్
బఫర్ స్ట్రీమ్ డేటాను చదవడంలో జావాలో BufferedInputStream తరగతి గ్రహించబడుతుంది. InputStream ఈ తరగతి ద్వారా చుట్టి ఉంది. ఈ తరగతి మీరు అదే సమయంలో చదవటానికి అనేక బైట్లు కానీ ఒక అనుమతిస్తుంది, బఫర్ స్ట్రీమ్ పూరిస్తుంది. ఈ గణనీయంగా ఆపరేషన్ పనితీరును మెరుగుపరచడానికి అది సాధ్యం చేస్తుంది. BufferedInputStream వారసుడు InputStream ఒక పరోక్ష మరియు ఆవిధంగా పైన పేర్కొన్న అన్ని పద్ధతులు పొందుతాయని.
ఈ తరగతి రెండు నిర్మాణదారులు ఉంది:
- BufferedInputStream (InputStream ఇన్పుట్ స్ట్రీమ్);
- BufferedInputStream (InputStream ఇన్పుట్ స్ట్రీమ్, Int బఫర్ పరిమాణం)
డిజైనర్లు యొక్క సంతకం మొదటి డిఫాల్ట్ బఫర్ పరిమాణం సెట్ చేసే అర్ధం చేసుకోవచ్చు, మరియు రెండవ దానిని మానవీయంగా సెట్ సాధ్యమే.
నిర్ధారణకు
మేము InputStream ప్రాథమిక పరిపూర్ణత సమీక్షించారు. మీరు జావా InputStream స్ట్రింగ్ () లో ఒక స్ట్రింగ్ స్వీకరించిన బైట్లు మార్చేందుకు అవసరం ఉంటే, దురదృష్టవశాత్తు, కాబట్టి అది Apache కామన్స్ లైబ్రరీ నుండి ప్రత్యేక టూల్స్, ఉదా IOUtils ఉపయోగించడానికి ఉంటుంది, ఓవర్లోడ్ లేదు.
Similar articles
Trending Now