مهدی عادلی فر
بنیانگذار توسینسو و برنامه نویس

آموزش 2 روش خواندن ورودی خط فرمان از کاربر در جاوا

تا کنون آموزش هایی را برای کار با زبان برنامه نویسی جاوا در انجمن تخصصی فناوری اطلاعات ارائه کرده ایم. در تمام این آموزش های فقط مقداری در خروجی چاپ می شد ولی تا کنون به این نکته اشاره نشده بود که چگونه می توان چیزی را از ورودی خواند. در همه برنامه های کنونی کاربر چیزی را وارد می کند و برنامه عمل و یا پردازشی بر روی ورودی کاربر انجام می دهد و یا مسیر اجرای خود را طبق مقدار وارد شده کاربر تعیین می کند. در این مطلب قصد داریم که نحوه خواندن ورودی کاربر توسط کلاس System.in را شرح دهیم. برای این کار در زبان برنامه نویسی جاوا می توانید از دو روش موجود استفاده کنید که این دو روش در ادامه نشان داده شده اند:

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

استفاده از scanner

برای این کار باید یک شئ از کلاس Scanner ساخت که این کلاس در کتابخانه java.util می باشد بسازیم. از آنجایی که از کلاس Scanner برای خواندن فایل ها نیز استفاده می شود باید در Constructor آن مقدار System.in را که در جاوا نشان دهنده ورودی خط فرمان است را وارد کنیم. برای این که یک خط را از ورودی های کاربر بخوانیم از متد nextLine در شئ Scanner استفاده می کنیم. خروجی این متد یک رشته است که این رشته همان مقدار وارد شده توسط کاربر می باشد. مثال استفاده از این کلاس به شکل زیر خواهد بود:

import java.util.Scanner;

public class MyClass {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        System.out.println("Enter text:");
        String str=sc.next();
        System.out.println("You Entered: "+ str);
    }
}

اگر مقدار Itpro را در قسمت خط فرمان وارد کنید خروجی به شکل زیر خواهد بود

You Entered: Itpro

استفاده از BufferedReader

روش دیگر استفاده از BufferedReader است. این روش نسبت به روش قبلی کمی پیچیده تر است. در این روش باید ابتدا یک شئ InputStreamReader بسازیم و مقدار System.in را به ورودی constructor آن اختصاص دهیم. سپس یک شئ BufferReader ساخته و شئ InputStreamReader را به عنوان ورودی Constructor به آن اختصاص دهیم. همچنین برای خواندن یک خط از ورودی باید از متد readLine در BufferedReader استفاده کنیم. برای مثال از این روش به کد زیر توجه کنید:

import java.io.*;

public class MyClass {
    public static void main(String[] args) throws IOException {
        InputStreamReader reader=new InputStreamReader(System.in);
        BufferedReader bufferedReader=new BufferedReader(reader);
        System.out.println("Enter text: ");
        String str=bufferedReader.readLine();
        System.out.println("You Entered: "+str);
    }
}

اگر به این برنامه هم ورودی Itpro را بدهیم خروجی به همان شکل روش قبل خواهد بود. Itpro باشید

نویسنده: مهدی عادلی فر

منبع: انجمن تخصصی فناوری اطلاعات ایران

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.


مهدی عادلی فر
مهدی عادلی فر

بنیانگذار توسینسو و برنامه نویس

مهدی عادلی، بنیان گذار TOSINSO. کارشناس ارشد نرم افزار کامپیوتر از دانشگاه صنعتی امیرکبیر و #C و جاوا و اندروید کار می کنم. در زمینه های موبایل و وب و ویندوز فعالیت دارم و به طراحی نرم افزار و اصول مهندسی نرم افزار علاقه مندم.

نظرات