search
HomeJavajavaTutorialJAVA learning IO operations byte stream and character stream (summary sharing)

This article brings you relevant knowledge about java, which mainly introduces issues related to IO operations, including byte streams and character streams, etc. Let’s take a look at them together. ,I hope everyone has to help.

JAVA learning IO operations byte stream and character stream (summary sharing)

Recommended study: "java Video Tutorial"

Preface: This chapter introduces byte stream and character stream in detail The basic usage method is illustrated with code implementation.

IO operation

JAVA learning IO operations byte stream and character stream (summary sharing)

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();
    }}

JAVA learning IO operations byte stream and character stream (summary sharing)
JAVA learning IO operations byte stream and character stream (summary sharing)

FileReader

Read file Example
Here I have changed the content to new lines
JAVA learning IO operations byte stream and character stream (summary sharing)
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();
    }}

JAVA learning IO operations byte stream and character stream (summary sharing)

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).

Recommended study: "java video tutorial"

The above is the detailed content of JAVA learning IO operations byte stream and character stream (summary sharing). For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:CSDN. If there is any infringement, please contact admin@php.cn delete
Is Java Platform Independent if then how?Is Java Platform Independent if then how?May 09, 2025 am 12:11 AM

Java is platform-independent because of its "write once, run everywhere" design philosophy, which relies on Java virtual machines (JVMs) and bytecode. 1) Java code is compiled into bytecode, interpreted by the JVM or compiled on the fly locally. 2) Pay attention to library dependencies, performance differences and environment configuration. 3) Using standard libraries, cross-platform testing and version management is the best practice to ensure platform independence.

The Truth About Java's Platform Independence: Is It Really That Simple?The Truth About Java's Platform Independence: Is It Really That Simple?May 09, 2025 am 12:10 AM

Java'splatformindependenceisnotsimple;itinvolvescomplexities.1)JVMcompatibilitymustbeensuredacrossplatforms.2)Nativelibrariesandsystemcallsneedcarefulhandling.3)Dependenciesandlibrariesrequirecross-platformcompatibility.4)Performanceoptimizationacros

Java Platform Independence: Advantages for web applicationsJava Platform Independence: Advantages for web applicationsMay 09, 2025 am 12:08 AM

Java'splatformindependencebenefitswebapplicationsbyallowingcodetorunonanysystemwithaJVM,simplifyingdeploymentandscaling.Itenables:1)easydeploymentacrossdifferentservers,2)seamlessscalingacrosscloudplatforms,and3)consistentdevelopmenttodeploymentproce

JVM Explained: A Comprehensive Guide to the Java Virtual MachineJVM Explained: A Comprehensive Guide to the Java Virtual MachineMay 09, 2025 am 12:04 AM

TheJVMistheruntimeenvironmentforexecutingJavabytecode,crucialforJava's"writeonce,runanywhere"capability.Itmanagesmemory,executesthreads,andensuressecurity,makingitessentialforJavadeveloperstounderstandforefficientandrobustapplicationdevelop

Key Features of Java: Why It Remains a Top Programming LanguageKey Features of Java: Why It Remains a Top Programming LanguageMay 09, 2025 am 12:04 AM

Javaremainsatopchoicefordevelopersduetoitsplatformindependence,object-orienteddesign,strongtyping,automaticmemorymanagement,andcomprehensivestandardlibrary.ThesefeaturesmakeJavaversatileandpowerful,suitableforawiderangeofapplications,despitesomechall

Java Platform Independence: What does it mean for developers?Java Platform Independence: What does it mean for developers?May 08, 2025 am 12:27 AM

Java'splatformindependencemeansdeveloperscanwritecodeonceandrunitonanydevicewithoutrecompiling.ThisisachievedthroughtheJavaVirtualMachine(JVM),whichtranslatesbytecodeintomachine-specificinstructions,allowinguniversalcompatibilityacrossplatforms.Howev

How to set up JVM for first usage?How to set up JVM for first usage?May 08, 2025 am 12:21 AM

To set up the JVM, you need to follow the following steps: 1) Download and install the JDK, 2) Set environment variables, 3) Verify the installation, 4) Set the IDE, 5) Test the runner program. Setting up a JVM is not just about making it work, it also involves optimizing memory allocation, garbage collection, performance tuning, and error handling to ensure optimal operation.

How can I check Java platform independence for my product?How can I check Java platform independence for my product?May 08, 2025 am 12:12 AM

ToensureJavaplatformindependence,followthesesteps:1)CompileandrunyourapplicationonmultipleplatformsusingdifferentOSandJVMversions.2)UtilizeCI/CDpipelineslikeJenkinsorGitHubActionsforautomatedcross-platformtesting.3)Usecross-platformtestingframeworkss

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

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version