search
HomeJavajavaTutorialAnalysis of byte stream and character stream examples of IO operations in JAVA

Analysis of byte stream and character stream examples of IO operations in JAVA

IO operation

Analysis of byte stream and character stream examples of IO operations in JAVA

Byte stream

  • java.io.InputStream input Streams are mainly used to read file contents.

  • java.io.OutputStream output stream is mainly used to write content bytes into files.

FileInputStream

This stream is used to read data from a file, and its object can be created using the keyword new.
There are various constructor methods that can be used to create objects.
You can use a string type file name to create an input stream object to read the file

InputStream f = new FileInputStream("D:/hello");

You can also use a file object to create an input stream object to read the file . We first have to use the File() method to create a file object:

File f = new File("D:/hello");InputStream in = new FileInputStream(f);

FileOutputStream

This class is used to create a file and send it to the file Write data in.
If the target file does not exist before the stream opens the file for output, the stream will create the file.
There are two constructors that can be used to create FileOutputStream objects.
Use a string type file name to create an output stream object:

OutputStream f = new FileOutputStream("D:/hello");

You can also use a file object to create an output stream to write a file. We first have to use the File() method to create a file object:

File f = new File("D:/hello");OutputStream fOut = new FileOutputStream(f);

Byte stream reading and writing case

Read D:/ The contents of the hello.txt file are then input into the file D:/test.txt

      public class Mk {
        public static void main(String[] args) throws IOException {
            File file=new File("D://hello.txt");
            File file1= new File("D://test.txt");
            InputStream is=new FileInputStream(file);
            OutputStream out=new FileOutputStream(file1);
            //定义byte数组用来暂存数据
            byte[] buf = new byte[1024];
            //读取Is中的内容存到buf
            is.read(buf);
            //将buf中的内容写入out
            out.write(buf);
            is.close();
            out.close();
        }
        }

Character stream

FileWriter

Write file instance

public class A {
    public static void main(String[] args) throws IOException {
        FileWriter fw = new FileWriter("user.txt", true);
        fw.write("你好中国1");
        fw.write("你好中国2");
        fw.write("你好中国3");
        fw.close();
    }}

Analysis of byte stream and character stream examples of IO operations in JAVA
Analysis of byte stream and character stream examples of IO operations in JAVA

FileReader

Read file Example
Here I have changed the content to new lines
Analysis of byte stream and character stream examples of IO operations in JAVA
br.ready() is to determine whether the line stream is empty
br.readLine() is to output a line, and then automatically point the cursor to the next line One line.

public class A {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new FileReader("user.txt"));
        while (br.ready()) {
            System.out.println(br.readLine());
        }
        br.close();
    }}

Analysis of byte stream and character stream examples of IO operations in JAVA

The difference between byte stream and character stream

The use of byte stream and character stream is very similar, except Besides the differences in operation codes, what other differences are there?

The byte stream itself does not use the buffer (memory) during operation. It operates directly with the file itself, while the character stream uses When the buffer's
byte stream operates on a file, the file can be output even if the resource is not closed (close method). However, if the character stream does not use the close method, no content will be output, indicating that the character stream uses Buffer, and you can use the flush method to force the buffer to be refreshed. Only then can the content be output without closing.

So in development, is it better to use byte stream or character stream? Okay?

When saving files or transferring files on all hard disks, they are done in bytes, including pictures, and characters are only stored in memory. will be formed, so the most operations using bytes are.
If you want a java program to implement a copy function, you should use a byte stream for operation (the image may be copied), and read and write at the same time (to save memory).

The above is the detailed content of Analysis of byte stream and character stream examples of IO operations in JAVA. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:亿速云. If there is any infringement, please contact admin@php.cn delete
How do I use Maven or Gradle for advanced Java project management, build automation, and dependency resolution?How do I use Maven or Gradle for advanced Java project management, build automation, and dependency resolution?Mar 17, 2025 pm 05:46 PM

The article discusses using Maven and Gradle for Java project management, build automation, and dependency resolution, comparing their approaches and optimization strategies.

How do I create and use custom Java libraries (JAR files) with proper versioning and dependency management?How do I create and use custom Java libraries (JAR files) with proper versioning and dependency management?Mar 17, 2025 pm 05:45 PM

The article discusses creating and using custom Java libraries (JAR files) with proper versioning and dependency management, using tools like Maven and Gradle.

How do I implement multi-level caching in Java applications using libraries like Caffeine or Guava Cache?How do I implement multi-level caching in Java applications using libraries like Caffeine or Guava Cache?Mar 17, 2025 pm 05:44 PM

The article discusses implementing multi-level caching in Java using Caffeine and Guava Cache to enhance application performance. It covers setup, integration, and performance benefits, along with configuration and eviction policy management best pra

How can I use JPA (Java Persistence API) for object-relational mapping with advanced features like caching and lazy loading?How can I use JPA (Java Persistence API) for object-relational mapping with advanced features like caching and lazy loading?Mar 17, 2025 pm 05:43 PM

The article discusses using JPA for object-relational mapping with advanced features like caching and lazy loading. It covers setup, entity mapping, and best practices for optimizing performance while highlighting potential pitfalls.[159 characters]

How does Java's classloading mechanism work, including different classloaders and their delegation models?How does Java's classloading mechanism work, including different classloaders and their delegation models?Mar 17, 2025 pm 05:35 PM

Java's classloading involves loading, linking, and initializing classes using a hierarchical system with Bootstrap, Extension, and Application classloaders. The parent delegation model ensures core classes are loaded first, affecting custom class loa

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor