Analysis of byte stream and character stream examples of IO operations in JAVA
IO operation
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(); }}
FileReader
Read file Example
Here I have changed the content to new lines
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(); }}
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!

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

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

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

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]

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


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 Linux new version
SublimeText3 Linux latest version

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

Dreamweaver Mac version
Visual web development tools

Atom editor mac version download
The most popular open source editor