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