Omid Zakeri

کلاس FileInputStream در جاوا

1 ارسال در این موضوع قرار دارد

کلاس Java FileInputStream بایت ورودی را از یک فایل دریافت می کند. این برای خواندن داده های بایت گرا (جریان های بایت خام) مانند داده های تصویری، صوتی، تصویری و غیره استفاده می شود.

به مثال زیر توجه کنید:

public class FileInputStream extends InputStream  

public class DataStreamExample {  
     public static void main(String args[]){    
          try{    
            FileInputStream fin=new FileInputStream("D:\\testout.txt");    
            int i=fin.read();  
            System.out.print((char)i);    
  
            fin.close();    
          }catch(Exception e){System.out.println(e);}    
         }    
        }  

توجه: قبل از اجرای کد، یک فایل متنی به نام "testout.txt" لازم است که ایجاد شود. در این فایل ما محتوای زیر را داریم:

Welcome to javatpoint.

اما خروجی کد بالا:

Output:

W

خب برای خواندن همه ی کاراکترها میتوان از دستور do-while استفاده کرد :

import java.io.FileInputStream;  
public class DataStreamExample {  
     public static void main(String args[]){    
          try{    
            FileInputStream fin=new FileInputStream("D:\\testout.txt");    
            int i=0;    
            while((i=fin.read())!=-1){    
             System.out.print((char)i);    
            }    
            fin.close();    
          }catch(Exception e){System.out.println(e);}    
         }    
        }  
Output:

Welcome to javaTpoint

 

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط AliMirzaei
      سلام
      من موقع ران کردن کد در ecilpse با اروری مواجه شدم! ممنون میشم مشکل من را حل کنید!
      مشکل در تصاویر زیر آمده است!
      مدل سیستم+نسخه JDK ,JRE + نسخه ecilpse در تصاویر آمده!
       
       
       





    • توسط Omid Zakeri
      access modifier ها مشخص می نمایند که چه اطلاعات و داده هایی از یک کلاس برای کلاسهای دیگر قابل دسترس باشد. برای کلاسها وفیلدهاوConstructor ها و متدها می توان سطح دسترسی تعیین کرد.
      یکی از ویژگیهای برنامه نویسی شی گرایی کپسوله سازی می باشد که توسط Access Modifier ها قابل پیاده سازی است.
      انواع access modifier ها:
      ۱-public
      ۲-private
      ۳-default
      ۴-Protected
      public:
      اگر کلاسی public باشد از هر جایی می توان به آن دسترسی داشت.
      حتی اگر کلاسها درون پکیج های جدا از هم قرار داشته باشند هم باز قابل دسترسی خواهند بود.
      Private:
      کلاس ها و فیلد هایی که private هستند نمیتوانند توسط کلاس ها وinterface های دیگر به آنها دسترسی داشت. و فقط درون کلاس تعریف شده قابل دستیابی هستند.
      Default:
      اگر از هیچ access modifier ای هنگام تعریف کلاس ها و متد ها استفاده نکنیم جاوا حالتdefault را برای آن در نظر می گیرد که در این حالت این کلاس ها و متدها تنها توسط کلاس هایی که درون همان پکیج هستند قابل دسترسی می باشد.در واقع به این حالت package access modifier هم می گویند.
      Protected:
      این حالت همانند default می ماند با این تفاوت که sub class ها (یعنی کلاس هایی که از این کلاس ارث بری کردند)هم می توانند به این کلاس دسترسی داشته باشند.
      مثال:
       
      class Test { int a; // default access public int b; // public access private int c; // private access // methods to access c void setc(int i) { // set c's value c = i; } int getc() { // get c's value return c; } }  
      class AccessTest { public static void main(String args[]) { Test ob = new Test(); // These are OK, a and b may be accessed directly ob.a = 10; ob.b = 20; // This is not OK and will cause an error // ob.c = 100; // Error! // You must access c through its methods ob.setc(100); // OK System.out.println("a, b, and c: " + ob.a + " " + ob.b + " " + ob.getc());class AccessTest { public static void main(String args[]) { Test ob = new Test(); // These are OK, a and b may be accessed directly ob.a = 10; ob.b = 20; // This is not OK and will cause an error // ob.c = 100; // Error! // You must access c through its methods ob.setc(100); // OK System.out.println("a, b, and c: " + ob.a + " " + ob.b + " " + ob.getc()); } } } }  
       
      نکته :درون این برنامه به دلیل اینکه c به صورت private تعریف شده نمی توان مستقیم به آن دسترسی داشت برای دسترسی به این فیلد باید از متد های setc, getc استفاده نمود.
      کلمه کلیدی (this):
      گاهی اوقات متدها نیاز ارجاع به شیئی را دارند که آنها را فعال (ایجاد) کرده است به همین منظواز کلمه کلیدی this در جاوا استفاده می نماییم.با استفاده از this در هر متد می توان به شیء جاری ارجاع نمود.در متدها و متد سازنده (Constructor) از this استفاده می شود.
      برای درک بهتر موضوع به مثال زیر توجه نمایید:
       
      Box(double w, double h, double d) { this.width = w; this.height = h; this.depth = d; }  
    • توسط Omid Zakeri
      در جاوا، ما کلاسهای استثنائی را مانند کلاس ArithmeticException، ArrayIndexOutOfBoundsException، NullPointerException و غیره تعریف کرده ایم. شرایط خاصی برای این استثنائات تعریف شده و در شرایطی که آنها به طور ضمنی توسط JVM (ماشین مجازی جاوا) استفاده می شوند وجود دارد.
      آیا می دانید که یک برنامه نویس می تواند یک استثنا جدید ایجاد کند و آن را به صراحت پرتاب کند؟ این استثنا ها به عنوان استثنائات تعیین شده توسط کاربر شناخته می شوند. به منظور استثنائات تعریف شده توسط کاربر، پرتاب کلمه کلیدی مورد استفاده قرار می گیرد. در این آموزش، ما خواهیم دید که چگونه یک استثناء جدید ایجاد کنیم و آن را در یک برنامه با استفاده از کلمه کلیدی پرتاب کنیم.
      شما همچنین می توانید یک استثناء قبلا تعریف شده ای مانند ArithmeticException، IOException و غیره استفاده کنید.
      //A void method public void sample() { //Statements //if (somethingWrong) then IOException e = new IOException(); throw e; //More Statements } صدا زدن متد نمونه بالا باید همیشه در یک بلوک امتحان قرار داده شود زیرا یک استثناء چک شده را پرتاب می کند - IOException. به کد زیر دقت کنید:
      MyClass obj = new MyClass(); try{ obj.sample(); }catch(IOException ioe) { //Your error Message here System.out.println(ioe); } استثنا در جاوا، اجباری از نوع Throwable است. اگر شما سعی می کنید که یک شی را پرتاب کنید، کامپایلر از کامپایل کردن برنامه خود اجتناب می کند و یک خطای کامپایل را نشان می دهد.
      هر گاه برنامه با یک دستور استثنا مواجه شود، مراحل بعدی اجرا نمی شود. کنترل بلافاصله برای گرفتن بلوک منتقل می شود تا ببینید آیا استثنائت پرتاب شده وجود دارد یا خیر. اگر استثنائی در آن وجود نداشته باشد، بلوک بلوک بعدی برای استثناء بررسی می شود و غیره. اگر هیچ کدام از بلوک های تکرار نشود، استثنائا پرتاب شده است، اما یک پیام استثنایی تولید شده بر روی سیستم روی صفحه نمایش داده می شود، همان چیزی است که ما برای استثنائات غیر دستی مدیریت می کنیم.
       
      class ThrowDemo{ public static void main(String args[]){ try{ char array[] = {'a','b','g','j'}; /*I'm displaying the value which does not * exist so this should throw an exception */ System.out.println(array[78]); }catch(ArithmeticException e){ System.out.println("Arithmetic Exception!!"); } } }  
      Output: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 78 at beginnersbook.com.ThrowDemo.main(Details.java:9)  
      از آنجا که استثنای پرتاب شده در بلوک های گیرنده مورد استفاده قرار نگرفت، سیستم تولید شده پیام استثنایی برای این استثنا خاص نمایش داده شد.
    • توسط Omid Zakeri
      در این مثال ما نشان خواهیم داد که چگونه از  استثنائی try-catch استفاده کنیم. استثنا یک خطا است که ممکن است در طی اجرای یک برنامه اتفاق بیفتد و نشان می دهد که جریان طبیعی برنامه باید قطع شود.
      NullPointerException، IOException، ArithmeticException، ArrayIndexOutOfBoundsException، بعضی از موارد دیگر استثنائی است که معمولا دیده می شود. این استثنا ها می توانند توسط برخی از بلوک های کد مورد استفاده قرار گیرند که توسط اظهارات try-catch احاطه شده اند. این بلوک کد، handler استثناء نامیده می شود. همچنین، دستیار استثنا ممکن است به صورت اختیاری شامل بلوک نهایی باشد.
      مثلا کد زیر دارای خطای تقسیم بر صفر است:
      public class Testtrycatch1{ public static void main(String args[]){ int data=50/0;//may throw exception System.out.println("rest of the code..."); } } Output:
      Exception in thread main java.lang.ArithmeticException:/ by zero همانطور که در مثال بالا نشان داده شده است، بقیه کد اجرا نمی شود (در این حالت، بقیه دستور کد ... چاپ نمی شود).
      بیایید راه حل مشکل بالا را با بلوک try-catch جاوا ببینیم.
       
      public class Testtrycatch2{ public static void main(String args[]){ try{ int data=50/0; }catch(ArithmeticException e){System.out.println(e);} System.out.println("rest of the code..."); } }  
      Output:
      Exception in thread main java.lang.ArithmeticException:/ by zero ...rest of the code  
      حالا، همانطور که در مثال بالا نشان داده شده است، بقیه کد اجرا می شود یعنی بقیه دستور کد ... چاپ می شود.
       

    • توسط Farzad Sarseifi
      کاربران گرامی انجمن اندروید ایران
      با توجه به نیازی که احساس میشد و برای رضایت بیشتر کاربران گرام انجمن فایل نصبی JDK 1.8 نسخه 64 بیتی برای دانلود روی سرور انجمن قرار گرفته است و میتوانید آن را دانلود نمایید.امید است براحتی بتوانید برنامه های اندروید را راه اندازی نمایید
      کیت توسعه جاوا (Java SE Development Kit – به اختصار JDK) شامل محیط اجرای جاوا (Java Runtime Environment – به اختصار JRE) به همراه ابزارهایی برای توسعه، دیباگ و مانیتورینگ اپلیکیشن‌های جاوا می‌باشد.کیت توسعه جاوا برای توسعه اپلیکیشن‌ها و اپلت‌های جاوا و همچنین اجرای آن‌ها ضروری است.
      ابزارهای JDK به پنج دسته تقسیم می‌شوند:
      ابزارهای پایه‌ای (Basic Tools) ابزارهای فراخوانی متد راه دور (Remote Method Invocation – به اختصار RMI) ابزارهای بین‌المللی سازی (Internationalization) ابزارهای امنیتی ابزارهای Java IDL
      لینک دانلود
      http://p30droid.com/Download/java/jdk-8u51-windows-x64.exe
      دوستدار شما- فرزاد سرسیفی
       
       

  • دوره آموزشی اندروید ایران کانادا آموزش ویدئویی اندروید آموزش برنامه نویسی اندروید اندروید کاپ دوره آنلاین اندروید کتاب های آموزشی اندروید بسته آموزشی اندروید دوره برنامه نویسی اندروید آموزش Kotlin
  • فایل