در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش جاوا (Java) قسمت 27 : کلاس ByteArrayInputStream

با سلام به همه دوستان و همراهان Itpro. در قسمت های قبل در مورد پکیج java.io و فایل ها و استریم ها صحبت کردیم. در این مطلب قصد داریم که یکی از کلاس های مهم در مورد استریم ها را توضیح دهیم و نحوه کار کردن با آن را مشخص کنیم.

ByteArrayInputStream

کلاس ByteArrayInputStream این اجازه را به کاربر می دهد که از بافر حافظه به عنوان استریم ورودی استفاده کند. به این معنی که استریم ورودی یک آرایه از نوع byte خواهد بود. این کلاس دارای constructor های زیر است.

  • این constructor یک آرایه از نوع byte را به عنوان ورودی دریافت می کند
  • ByteArrayInputStream(byte [] a)
    
  • این Constructor یک آرایه از نوع byte را به عنوان ورودی می گیرد و همچنین دو عدد نیز به عنوان ورودی میگیرد که اعداد گرفته شده به ترتیب برای این است که ابتدا و طول خانه های آرایه که باید مورد استفاده قرار بگیرند کدام است به این معنی که پارامتر off اولین خانه از آرایه است که باید خوانده شود و پارامتر len تعداد خانه هایی که باید خوانده شود را مشخص می کند.
  • ByteArrayInputStream(byte [] a, int off, int len)
    

اگر شما یک شئ از کلاس ByteArrayInputStreamداشته باشید متدهای زیر را که با استریم ها کار می کند را در اختیار خواهید داشت.

  1. متد **read این متد اگر هیچ پارامتر ورودی نداشته باشد، بایت بعدی از داده های استریم ورودی را می خواند و بایت بعدی را به عنوان int می خواند و اگر به انتهای استریم رسیده باشد مقدار -1 را برمی گرداند. اما نسخه پارامتردار این متد به این شکل است که یک آرایه از نوع byte و دو عدد از کاربر به عنوان ورودی می گیرد و نحوه عمل آن به این شکل است که از خانه ای که عدد اولی مشخص کرده به تعداد عدد دوم از داده ها می خواند و در داخل آرایه ورودی می ریزد و برای نتیجه نیز تعداد خانه های خوانده شده را برمی گرداند و اگر هیچ داده ای نخوانده باشد مقدار -1 برمی گرداند.

#متد available تعداد داده های باقی مانده که خوانده نشده اند را برمی گرداند.

#متد mark با استفاده از این متد می توان محل خواندن داده ها را تغییر داد. به این شکل که محل خواندن جدید را به صورت پارامتر ورودی به متد بدهیم. این متد چیزی برنمی گرداند

#متد skip این متد یک پارامتر ورودی عددی دارد که به تعداد آن ورودی از داده های استریم را نادیده می گیرد و از روی آنها می پرد.

برای مثالی از این کلاس به برنامه زیر دقت کنید. که این برنامه کاربرد کلاس های ByteArrayInputStreamو ByteArrayOutputStream را نمایش می دهد.

import java.io.*;

public class ByteStreamTest {

    public static void main(String args[])throws IOException {

        ByteArrayOutputStream bOutput = new ByteArrayOutputStream(6);
        byte[] bb={'a','b','c','d','e','f','g'};
        bOutput.write(bb);
        byte b [] = bOutput.toByteArray();
        System.out.println("Print the content");
        for(int x= 0 ; x < b.length; x++) {
            // printing the characters
            System.out.print((char)b[x]  + "   ");
        }
        System.out.println("   ");

        int c;

        ByteArrayInputStream bInput = new ByteArrayInputStream(b);
        System.out.println("Converting characters to Upper case " );
        for(int y = 0 ; y < 1; y++ ) {
            while(( c= bInput.read())!= -1) {
                System.out.println(Character.toUpperCase((char)c));
            }
            bInput.reset();
        }
    }
}

خروجی این برنامه به شکل زیر خواهد بود

Print the content
a   b   c   d   e   f   g      
Converting characters to Upper case 
A
B
C
D
E
F
G

متد reset که در کد بالا آورده شده است این وظیفه را دارد که اگر قبلا از متد mark استفاده کرده ایم محل خواندن استریم را به آن محل انتقال دهد و در غیر این صورت محل خواندن را 0 کند. در باره ی ByteArrayOutputStream در مطالب بعدی توضیح خواهیم داد Itpro باشید

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

منبع: جزیره برنامه نویسی و توسعه نرم افزار وب سایت توسینسو

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

#کار_با_استریم_های_جاوا #استفاده_از_آرایه_به_شکل_استریم_در_جاوا #برنامه_نویسی_جاوا #کار_با_استریم_ها_در_جاوا #آموزش_برنامه_نویسی_جاوا #استریم_های_ورودی_جاوا #آموزش_جاوا #آموزش_گام_به_گام_جاوا #دوره_آموزشی_جاوا #یادگیری_زبان_برنامه_نویسی_جاوا
عنوان
1 آموزش جاوا (Java) قسمت 1 : معرفی ، خصوصیات و شروع به کار رایگان
2 آموزش جاوا (Java) قسمت 2 : شی گرایی قسمت یک رایگان
3 آموزش جاوا (Java) قسمت 3: شی گرایی قسمت دو رایگان
4 آموزش جاوا (Java) قسمت 4 : شی گرایی قسمت سه رایگان
5 آموزش جاوا (Java) قسمت 5 : انواع داده رایگان
6 آموزش جاوا (Java) قسمت 6 : انواع متغیر رایگان
7 آموزش جاوا (Java) قسمت 7 : Modifier ها رایگان
8 آموزش جاوا (Java) قسمت 8 : عملگرها قسمت یک رایگان
9 آموزش جاوا (Java) قسمت 9 : عملگرها قسمت دو رایگان
10 آموزش جاوا (Java) قسمت 10 : حلقه های تکرار رایگان
11 آموزش جاوا (Java) قسمت 11 : عبارات شرطی رایگان
12 آموزش جاوا (Java) قسمت 12 : کلاس Wrapper اعداد رایگان
13 آموزش جاوا (Java) قسمت 12 : کلاس Wrapper اعداد رایگان
14 آموزش جاوا (Java) قسمت 14: کلاس Wrapper کاراکترها رایگان
15 آموزش جاوا (Java) قسمت 15 : کلاس String و کار با رشته قسمت یک رایگان
16 آموزش جاوا (Java) قسمت 16 : کلاس String و کار با رشته قسمت دو رایگان
17 آموزش جاوا (Java) قسمت 17 : کلاس String و کار با رشته قسمت سه رایگان
18 آموزش جاوا (Java) قسمت 18 : کلاس String و کار با رشته قسمت چهار رایگان
19 آموزش جاوا (Java) قسمت 19 : StringBuilder و StringBuffer رایگان
20 آموزش جاوا (Java) قسمت 20 : استفاده از آرایه ها رایگان
21 آموزش جاوا (Java) قسمت 21 : آموزش کار با تاریخ رایگان
22 آموزش جاوا (Java) قسمت 22 : عبارات منظم (Regular Expression) رایگان
23 آموزش جاوا (Java) قسمت 23 : تعریف و استفاده از متدها قسمت یک رایگان
24 آموزش جاوا (Java) قسمت 24 : تعریف و استفاده از متدها قسمت دو رایگان
25 آموزش جاوا (Java) قسمت 25 : کار با استریم ها و فایل ها رایگان
26 آموزش جاوا (Java) قسمت 26 : کار با دایرکتوری ها رایگان
27 آموزش جاوا (Java) قسمت 27 : کلاس ByteArrayInputStream رایگان
28 آموزش جاوا (Java) قسمت 28 : معرفی کلاس File و متدها رایگان
29 آموزش جاوا (Java) قسمت 29 : معرفی و شرح Exception ها قسمت 1 رایگان
30 آموزش جاوا (Java) قسمت 30 : معرفی و شرح Exception ها قسمت 2 رایگان
31 آموزش جاوا (Java) قسمت 31 : معرفی و شرح Exception ها قسمت 3 رایگان
32 آموزش جاوا (Java) قسمت 32 : استفاده از انوع کلاس های داخلی رایگان
33 آموزش جاوا (Java) قسمت 33 : وراثت کلاس ها و انواع آن رایگان
34 آموزش جاوا (Java) قسمت 34 : Override کردن متد ها رایگان
35 آموزش جاوا (Java) قسمت 35 : چند ریختی (Polymorphism) رایگان
36 آموزش جاوا (Java) قسمت 36 : Enum و ویژگی های آن رایگان
37 آموزش جاوا (Java) قسمت 37 : معرفی Abstract رایگان
38 آموزش جاوا (Java) قسمت 38 : استفاده از کپسول بندی (Encapsulation) رایگان
39 آموزش جاوا (Java) قسمت 39 : استفاده از اینترفیس ها رایگان
40 آموزش جاوا (Java) قسمت 40 : پکیج(Package) و نحوه استفاده رایگان
41 آموزش جاوا (Java) قسمت 41 : معرفی داده ساختارها Enumeration رایگان
42 آموزش جاوا (Java) قسمت 42 : داده ساختار BitSet رایگان
43 آموزش جاوا (Java) قسمت 43 : داده ساختار Vector رایگان
44 آموزش جاوا (Java) قسمت 44 : داده ساختار Stack (پشته) رایگان
45 آموزش جاوا (Java) قسمت 45 : داده ساختار Dictionary رایگان
46 آموزش جاوا (Java) قسمت 46 : داده ساختار Hashtable رایگان
47 آموزش جاوا (Java) قسمت 47 : داده ساختار Properites رایگان
48 آموزش جاوا (Java) قسمت 48 : معرفی و آموزش جنریک (Generic) رایگان
49 آموزش جاوا (Java) قسمت 49 : برنامه نویسی سوکت و شبکه قسمت 1 رایگان
50 آموزش جاوا (Java) قسمت 50 : برنامه نویسی سوکت و شبکه قسمت 2 رایگان
51 آموزش جاوا (Java) قسمت 51 : استفاده از Lambda Expression رایگان
52 آموزش جاوا (Java) قسمت 52 : Thread و Multi-Threading رایگان
53 آموزش جاوا (Java) قسمت 53 : Runnable در Thread و Multi-Threading رایگان
54 آموزش جاوا (Java) قسمت 54 : کلاس Thread و متدها رایگان
زمان و قیمت کل 0″ 0
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....