CodeGym /جاوا بلاگ /Random-UR /سکینر نیکسٹ لائن () جاوا میں طریقہ
John Squirrels
سطح
San Francisco

سکینر نیکسٹ لائن () جاوا میں طریقہ

گروپ میں شائع ہوا۔
سکینر ، جاوا پروگرامنگ زبان کی ایک کلاس جو ریگولر ایکسپریشنز کا استعمال کرتے ہوئے قدیم اقسام اور تاروں کو پارس کر سکتی ہے۔ جاوا میں نیکسٹ لائن () اسکینر کا طریقہ اس اسکینر کو موجودہ لائن سے آگے لے جاتا ہے اور چھوڑے گئے ان پٹ کو واپس کرتا ہے۔ اس مضمون میں بعد میں نیکسٹ لائن () اور سکینر پر مزید ۔

اسکینر کلاس کے بارے میں اور یہ کیسے کام کرتا ہے۔

موٹے الفاظ میں، java.util.Scanner کلاس آپ کو کنسول سمیت مختلف ذرائع سے ان پٹ پڑھنے کی اجازت دیتی ہے۔ یہ واقعی کلاسیکی سکینر کی طرح لگتا ہے۔ اس ہارڈویئر ڈیوائس میں پیچیدہ فن تعمیر ہے، لیکن اس کے کام کو بیان کرنا بہت آسان ہے۔ سکینر اس تاریخ کو پڑھتا ہے جسے صارف اس پر رکھتا ہے، جیسے کاغذات اور ڈیٹا کو تصویر یا پی ڈی ایف فائل کی طرح میموری میں رکھتا ہے۔ جاوا سکینر، بالکل ایک حقیقی کی طرح، اس ذریعہ سے ڈیٹا پڑھتا ہے جسے آپ اس کے لیے بتاتے ہیں۔ مثال کے طور پر، سٹرنگ سے، فائل سے، کنسول سے۔ پھر وہ اس معلومات کو پہچانتا ہے اور ضرورت کے مطابق اس پر کارروائی کرتا ہے۔ مثال کے طور پر، پروگرام کنسول سے کچھ ڈیٹا داخل کرنے کو کہتا ہے اور اسے پڑھتا ہے یا اسے فائل سے پڑھنا چاہتا ہے۔ اس آپریشن کے لیے، سکینر کے پاس لفظ "اگلا" کے ساتھ مل کر کئی طریقے ہیں۔ جیسے next() , nextLine() , nextInt() , nextDouble() ۔

nextLine() طریقہ

جیسا کہ ہم نے اوپر کہا ہے، سکینر کا آبجیکٹ ڈیلیمیٹر پیٹرن، وائٹ اسپیس کا استعمال کرتے ہوئے ان پٹ کو ٹوکنز میں تقسیم کرتا ہے، لیکن اسے سٹرنگ ( java.lang.String ) یا ریگولر ایکسپریشن ( java.util.regex) سے تبدیل کیا جا سکتا ہے۔ پیٹرن )۔ اس کے بعد آنے والے ٹوکنز کو اگلے مختلف طریقوں کا استعمال کرتے ہوئے مختلف اقسام کی اقدار میں تبدیل کیا جا سکتا ہے۔ جاوا میں اسکینر nextLine() طریقہ اس اسکینر کو موجودہ لائن سے آگے بڑھاتا ہے اور اس ان پٹ کو واپس کرتا ہے جسے چھوڑ دیا گیا تھا۔ General next() اس اسکینر سے اگلا مکمل ٹوکن ڈھونڈتا اور واپس کرتا ہے۔ nextLine() طریقہ لائن سیپریٹر کے لیے ان پٹ کو تلاش کرنا جاری رکھتا ہے، اس لیے یہ تمام ان پٹ کو بفر کر سکتا ہے جو لائن کو الگ کرنے کے لیے تلاش کر رہا ہے اگر کوئی لائن الگ کرنے والے نہ ہوں۔ یہ طریقہ اگلے مستثنیات کو پھینک دیتا ہے:
  • NoSuchElementException: اگر کوئی لائن نہیں ملی تو پھینک دیتا ہے۔
  • IllegalStateException: اگر یہ سکینر بند ہو تو پھینک دیتا ہے۔

nextLine() مثال

فرض کریں کہ ہم چاہتے ہیں کہ صارف کنسول میں کوئی بھی لفظ یا فقرہ داخل کرے، اور ہم اسے دکھا سکتے ہیں کہ اس نے کون سا لفظ یا فقرہ درج کیا ہے۔

import java.util.Scanner;
//…scanner.nextLine() example
public class ScannerTest {
   public static void main(String[] args) {
       Scanner scan = new Scanner(System.in);
       System.out.println("Enter any phrase and I'll repeat it!... ");
      //here we are reading the next line: 
       String sentence = scan.nextLine();
       System.out.println(sentence);
   }
}
آؤٹ پٹ مثال کے طور پر اگلا ہو سکتا ہے:
کوئی بھی جملہ درج کریں اور میں اسے دہراوں گا!... یہ ہے میرا جملہ یہاں میرا جملہ ہے۔
اگر آپ nextLine() کی بجائے next() طریقہ استعمال کرتے ہیں ، تو آپ کو اپنے جملے کا صرف پہلا لفظ ملے گا۔
کوئی بھی جملہ درج کریں اور میں اسے دہراوں گا!... میرا جملہ یہاں ہے۔
آئیے فائل سے پڑھنے کے لیے کام کرنے والے اسکینر nextLine() طریقہ کی ایک مثال رکھتے ہیں۔ اس مثال کے لیے میں نے ایک txt فائل myTest.txt بنائی ہے۔ اس فائل میں دو لائنیں ہیں:
میری ٹیسٹ فائل اور میری اگلی لائن یہاں ہے۔
یہاں ایک پروگرام ہے جو فائل سے دو لائنیں پڑھتا ہے۔

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class ScannerTest {

   public static void main(String[] args) throws FileNotFoundException {
       Scanner scanner = new Scanner(new File("d://myTest.txt"));

       String textFromFile1 = scanner.nextLine();
       String textFromFile2 = scanner.nextLine();
       System.out.println(textFromFile1);
       System.out.println(textFromFile2);
       scanner.close();

   }
}
آؤٹ پٹ ہے:
میری ٹیسٹ فائل اور میری اگلی لائن یہاں ہے۔
اگر آپ کا فائل کا راستہ غلط ہے یا اس نام کی فائل موجود نہیں ہے تو آپ کو اگلا آؤٹ پٹ ملے گا:
دھاگے "main" java.io.FileNotFoundException میں استثناء: d:\myTest.txt java.base/java.io.FileInputStream.open0(مقامی طریقہ) پر java.base/java.io.FileInputStream.open(FileInputStream.java) :213). ScannerTest.java:8)
اگر پروگرام کو آپ کی فائل مل گئی، لیکن یہ خالی ہے، تو آپ کو NoSuchElementException ملے گا:
تھریڈ "main" java.util.NoSuchElementException میں استثناء: java.base/java.util.Scanner.nextLine(Scanner.java:1651) پر ScannerTest.main(ScannerTest.java:10) پر کوئی لائن نہیں ملی۔
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION