Java I/O Tutorial

Java I/O Tutorials

Java comes with many handy I/O classes to support the input and output through bytes stream and file system. Here’s a list of the Java I/O examples including file, temporary file and directory manipulation, encoding, serialized and also compression with zip or Gzip.

Happy learning Java I/O :)


List of the File examples to show the use of Java I/O to create, read, write, modify file and get the file’s information.

File Serialization

Take any object that implements the Serialization interface, convert it into bytes and store it into file; The file can be fully restore back to the original object later.

File Compression

File compression examples, ZIP and GZip.

Temporary File

List of the temporary file manipulation examples.


List of the directory manipulation examples.

Console IO

List of the Console IO examples.

Java I/O Reference

Tags :

About the Author

Founder of and, love Java and open source stuff. Follow him on Twitter, or befriend him on Facebook or Google Plus. If you like my tutorials, consider make a donation to these charities.


  • Pingback: water ionizer()

  • Pingback: watch movies online()

  • Pingback: watch tv show episodes()

  • Pingback: watch movies online()

  • Pingback: Blue Coaster33()

  • Code NIrvana

    Awesome I/O Programs.
    I am also working on some I/O Programs.

    System.out.print(“Keep Coding!”) :)

  • Shashwat kk

    I <3 you, you rock.

  • Arkadeb

    Your site is absolutely wonderful…..very helpful indeed..thanks a ton!!!

  • som

    nice site ,…….thankyou …..bro…

  • Jonatan

    Thank you for share all those tutorials. I’m just getting started with Java Netbeans and this is the best that I’ve found . . .

  • asdsa


  • Sanjeewa

    Thax . & i wish u all the best !

  • Sudheera

    Awesome!!!,it is very helpful to me.


  • Belen

    Awesome! Thank you for sharing :)

  • Android Guru

    You can start learning Android programming from scratch through this blog –
    Blog is targetted for Freshers or novice programmers who want to begin learning Android application development.

  • angel

    thank you sir for giving nice lessons like this..long live mr yong

  • ravi dubey

    Hi MKYONG sir,
    Could you please upload an example for printing application.
    For example: if we want to print particular Bill in a restaurant!!!

    Thank you,

  • ravi dubey

    The best tutorial i have ever seen:)
    just awesome!!!

  • Walter

    am new in programming and i want to learn and understand more programming please help me

    • angel

      Try to learn from the books…use video tutorials…you can…aim for a exam(some kind of sun java or something)will help you to keep on target..and finally you will have a certificate too….try to learn user interfaces(GUI) at final may not have to code them ..can use..netbeans or eclipse…I recommend eclipse..there is much support for study the of luck

  • stringpool

    good java tutorials

  • idris adam

    the tutorial has been helpful to me, but i wanted to if it is possible to writes more than an object into a file and read them back successfully.
    thank you.

  • xavy aly

    Hi! Yong
    Thanks to illustrate this examples.
    I have one question
    Q:I need to create a log file which contains all the details of query done by user1 in database1 operation in oracle editor even give time and date of each query details.And when i login to another db2 and capable to fetch that log file and fired them and it could easily be capable to stored each record as it was happening in db1.

    note:columns name of each table is same either db1 or db2 or db3…..

    hope u will provide me the whole code in full explanations in java and database oracle
    Thanx Yong

  • Rimi

    How to prevent file path manipulation as it is security issue

  • venkat


    For every thing we have an example but not much explanation.

  • prasad

    Sir,i want the code for these questions.I tried in many ways and didn’t get the accurate result.Please do the needful.

    1)Your input will given in a text file (input.txt).
    Your program should create an output file (output.txt).
    Every line in the file represents a test case for which you should have a corresponding line as result in the output file.

    Every line will be a mathematical expression that will be given with braces. The operators that will be used are only +,*,/,- (bodmas priority). The braces that
    will be used are [],() (in that order of priority). The program should provide the ouput for each experssion in the output file if the syntax of the expression is
    correct. If incorrect syntactically, “invalid” should be written.

    [1+2*(3+5)/4] => 5
    [1+2*(3+5/5] => invalid
    [1+2*3/6] => 2

    2)A text file is given as input.

    You have to arrange the strings by reordering them in the following manner:

    For every word that ends with a letter,

    the next word should start with the same letter.

    The words that do not match must be written at the end of the file.

    3)Read the contents of a text file (input.txt). The words should be rearranged and written to output.txt.
    First find the number of occurances of each word. Then write to the file in the descending order of the number of
    occurances. If any word occurs prime number of times, then reverse the strings and write it to the file.
    Also print the words that contain non-repeating letters to the console.

  • Gopi Shiva Krishna

    This is an amazing site. lot of examples.

    Can you also post some collection related examples.


  • Rt

    How to print output in different color on console using java program ?

  • sunil

    Very impressive java tutorial.


  • http://lineage Pashalis

    So hello i have one question about nexttoken look

    String test = st.nextToken();
    String test2 = st.nextToken();

    if test2 is empty how can i check if test 2 is empty and put it something like test2 = “.”;

    Please help me…..

    • balaji

      is this what you are looking for ?

  • kazim

    Awesome .. i have become fan of u … yong

  • SIVA

    ThanQ sir,it is very helpful to me and
    can you please provide me the ORACLE & FORMS understandable website…..

    • balaji


  • George Fernandas

    Ya This is very useful to Develope in my “PROJECT”


    (SOftware Engg)

  • Sujay Mandal

    This is a very helpful site .. Thank You to help us.

  • harsh


    i have to encoded chines charactor but its can not decode its. any idea

  • Varaprasad

    Can I get more examples in regular expressions with I/O operations

  • Manas Sinha


    Really a good site.Just want, your answers or post should be more elaborative.


  • hamzeh

    hello Mr.
    i want to do how can get the file size that stored in internet Before download
    pleas email it for me.

  • Rajesh

    Hi… i’m just a beginner of java. i don’t know how to start it from your website. (Heard that, mkyong is a best website for learning programming skills)

  • Sarang

    these are very valuable examples…easy to follow
    thanks sir

  • Abirami

    Hi, I want the code which meets the following requirement.
    If I give the username as password, it should able to give write (access) permission to the folders in my D: drive to that user.
    Could you please help me as soon as possible.
    Thank you in advance.

  • sridhar

    hi i need to different between spring and hibernt

    • Mahesh Biradar

      Hi Sridhar
      Hibernate is a ORM(Object Relational Mapping) tool used to deal with database,to overcome the problems associated with JDBC such as result set iteration,remembering column name ,connection pooling and so on.

      Spring-core is business core framework which deals with dependency injection ,aspect oriented programming.One of the main features of spring is ,it supports JDBC template to deal with database.
      Spring core also focuses on Transaction Management.

  • Pingback: Java File I/O « Daniel Moore()

  • vrushabh

    Respected sir,
    I have searched very much but i did not come to know yet that how to read a audio file in java.

    thanking you,

    • Sophia Pinto

      Playing audio clips in applets is quite simple and involves the following steps:

      Create an AudioClip object
      Load .au sound file into AudioClip
      Play sounds once or loop continuously
      Stop playback

  • Tanveer

    This site is awesome for learning java.. Great Man !!

    • Sophia Pinto

      you can check it for basic learning in java

  • Deborah

    Hi. i have interest in java. but i have no knowledge about it. can u pls put me through.Thanks

    • mkyong

      How could i help?

      • D FSAF

        I have basic knowledge of C++, Should I start practicing java basics

        • mkyong

          Yes, you should :)

          • Krishna

            I want to create a java file for inserting a tag into xml file like below
            i want the output as like above and i don’t know how to attach my code to dis can u plz help me

    • Sophia Pinto

      you can learn java easily but you should practice………….for it

  • Bright

    As a novice of Java, the articles in your website are useful to me. Can I translate and publish them in my network?


    • mkyong

      Yes, you are free to translate it. But, with a credit link back to original post.

  • Sudar

    Hi Yong, is my favourite site and I strictly followed and learned Spring AOP 2.5. As per my current project I need to convert single threaded application to multithreading. can you please add some notes/recommendations for that. I’m a beginner for threading and never implemented in my whole career


    • satya

      This are valuable example as well as valuable tutorial.

      • satya

        Hi Yong,

        Thanks for uploading all the example programs on the java.

        Is that possible for you to upload Collection framework examples.

        So that it helpful to every one to understand the some real time applications.

        Thanks in advance.