In Java
IO
IO
The classification
First Division: input and output streams
Second Division: byte Stream and character stream
Third: node flow and processing flow
Node stream processing data, processing flow is based on the node flow processing.
IO
The focus in:
InputStreamOutputStreamFileInputStreamFileOutputStream
InputStream
int read(byte[] b,int off,int len)
OutputStream
void write(byte[] b,int off,int len)
// 第一步,导入类import java.io.*;class Demo { public static void main(String[] args){ // 声明输入流的引用 FileInputStream fis = null; // 声明输出流的引用 FileOutputStream fos = null; try{ // 生成输入流的对象 fis = new FileInputStream("e:/from.txt"); // 生成代表输出流的对象 fos = new FileOutputSteam("e:/to.txt"); // 生成一个字节数组 byte[] buffer = new byte[100]; // 调用输入流对象的read方法 int temp = fis.read(buffer,0,buffer.length); fos.write(buffer,0,temp); for(int i=0; i<buffer.length; i++){ System.out.println(buffer[i]); } }catch(Exception e){ System.out.println(e); } }}
IO
is to read and write data, the flow of data is a Java
program-based reference, attention to read
methods and write
methods.
Flow: In the Java
input and output is through the flow of the class to achieve, Java
provides a rich set of flow classes can be imported java.io
, so that can complete the input and output, but also to achieve network operation and so on.
Hear the stream, is not very image of it? Flow is like a trend, when the program needs to read the data, it will open a stream to the data source, the data source can be files, memory, network connections, etc., need to write data, will also open a flow to the destination. Flow is like connecting the starting point to the end of the road.
input stream: source to program, that is, read, from the source of the input into the program, read the contents of a file read into the program.
output stream: output to the destination in the program, output stream, that is, write, one file to another file, from this side output to the other side.
In Java
mid-stream: byte stream, character stream must be mastered
InputStreamOutputStreamReaderWriter
Focus early on Java
content: InputStream
and OutputStream
, both of these are based on byte stream.
Character Stream: Reader
andWriter
Java
Flow points in a language: text flow (character sequence) and binary stream
Input stream and output stream
InputStream
Classes are basic input stream classes, which are abstract classes that define methods in the class that are InputStream
used to read
read the data.
OutputStream
Classes are basic output classes, which are abstract classes that define methods in the class that are OutputStream
write
used to output data and write.
OutputStream
Class
Clear buffer:public void flush()
To close the output stream:public void close()
Other Highlights:
Java
DataInputStream
Classes and DataOutputStream
classes, data input streams, and data output streams are provided in. Classes and classes are provided in the version, and JDK1.1
InputStreamReader
OutputStreamWriter
They are Reader
subclasses of Writer
the class, providing a conversion of a byte stream to a character stream.
Character Stream
BufferedReader
Classes and Classes BufferedWriter
are Reader
subclasses of classes and classes, and the Writer
input and output buffers are provided.
File class
FileInputStream
Class is an input operation and is a file input stream class
import java.io.*;public class Demo{ public static void main(String[] args){ byte buffer[] = new byte[1024]; try{ // 创建FileInputStream类对象 FileInputStream fis = new FileInputStream("from.txt"); int temp = fis.read(buffer,0,buffer.length); String str=new String(buffer,0,temp); // 输出字符串内容 System.out.println(str); }catch(Exception e){ System.out.println(e); } }}
FileOutputStream
Class is the output class, and the same is true FileInputStream
.
FileInputStream
Class, FileOutputStream
class
DataInputStream
Class, DataOutputStream
class
InputStream
Class, OutputStream
class
BufferedReader
Class, BufferedWriter
class
Talk aboutIO
//第一种:输入流输出流//第二种:字节流字符流//第三种:节点流处理流//FileInputStreamclass Test{ public static void main(String args[]){ FileInputStream fis = null; try{ fis = new FileInputStream("e:/read.txt"); byte[] buffer = new byte[100]; fis.read(buffer,0,buffer.length); for(int i = 0;i<buffer.length;i++){ System.out.println(buffer[i]); }} catch(Exception e){ System.out.println(e); } }}
class Test{ public static void main(String args[]){ FileInputStream fis = null; FileOutputStream fos = null; try{ fis = new FileInputStream("e:/read.txt"); fos = new FileOutputStream("e:/write.txt"); byte[] buffer = new byte[100]; int temp = fis.read(buffer,0,buffer.length); fos.write(buffer,0,temp); } catch(Exception e){ System.out.println(e); } }}
class Test{ public static void main(String args[]){ FileInputStream fis = null; FileOutputStream fos = null; try{ fis = new FileInputStream("e:/read.txt"); fos = new FileOutputStream("e:/write.txt"); byte[] buffer = new byte[1024]; while(true){ int temp = fis.read(buffer,o,buffer.length); if(temp = -1){ break; } fos.write(buffer,0,temp); } }catch(Exception e){ System.out.println(e); }finally{ try{ fis.close(); fos.close(); }catch(Excepiton e){ System.out.println(e); } }}}
//character stream public class Textchar public static void Main (String args[]) {FileReader FR = null; FileWriter FW = NULL; try{FR = new FileReader ("E:/read.txt"); FW = new FileWriter ("E:/write.txt"); char[] buffer = new CHAR[100]; int temp = Fr.read (buffer,0,buffer.length); Fw.write (buffer,0,temp); } catch (Exception e) {System.out.println (e); }finally{try{fr.close (); Fw.close (); } catch (Excepiton e) {System.out.println (e); } }}
//filereader and bufferedreaderclass test{public static void Main (String args[]) {FileReader filereader = null; BufferedReader BufferedReader = null;try{FileReader = new FileReader ("E:/read.txt"); BufferedReader = new BufferedReader (FileReader); String line = null; while (true) {line = Bufferedreader.readline (); if (line = = null) {break; } System.out.println (line); }}catch (Exception e) {System.out.println (e); } finally{try{bufferedreader.close (); Filereader.close (); } catch (Exception e) {System.out.println (e); } } }}
public class Test{ public static void main(String[] args) throws Exception{ //字节流 FileInputStream in = new FileInputStream("c:/read.txt"); FileOutStream out = new FileOutputStream("c:/write.txt"); byte[] buffer = new byte[1024]; int len; while( (len = in.read(buffer)) != -1){ out.write(buffer,0,len); } in.close(); out.close(); //字符流 BufferedReader bf = new BufferedReader(new FileReader("c:/read.txt"); BufferedWriter bw = new BufferedWriter(new FileWriter("c:/write.txt"); String str; while( (str=bf.readLine()) != null ){ bw.write(str); bw.newLine(); } bf.close(); bw.close(); }}
Byte stream: bytes InputStream
input stream, OutputStream
byte output stream
Characters stream: Reader
character input stream, Writer
character output stream
Data flow: Data DataInputStream
input stream, DataOutputStream
data output stream
File read/write
Objective
1 Several methods of mastering file reading and writing
2 FileOutputStream
and FileInputStream
the use of classes.
3 conversions between basic data types
The
Implements a file read after it is converted to uppercase and written to the destination file, where src
refers to the source file, and des
is the destination file directory.
public class Filedemo {//Create a folder public static void CreateFolder (String path) {file Folder=new file (path); if (folder.exists ()) {System.out.println ("folder already exists! "); }else{//Does not exist when going to create folder.mkdir (); }}//Create a file public static void CreateFile (String path,string filename) {file File=new file (path,filename) ; The file determines if there is already an if (file.exists ()) {System.out.println ("File already exists! "); System.out.println (File.length ()); }else{try{file.createnewfile (); }catch (IOException e) {System.out.println ("File creation failed! "); }}}//write file public static void write (string path,string filename) {try{string str= "0123 456789/nac "; String upstr = Str.touppercase ();//byte b[]=upstr.getbytes ();//FileOutputStream fos=new FileOutput Stream (New File (Path,filename)); Fos.write (b); Fos.close (); }catch (FileNotFoundException e) {System.out.println ("file does not exist"); }catch (IOException e) {System.out.println ("Write file failed"); }}//read file public static void read (String path,string filename) {try{int length=0; String str= ""; byte buffer[]=new byte[10]; FileInputStream fis=new FileInputStream (New File (Path,filename)); while ((length=fis.read (buffer, 0, buffer.length))!=-1) {str+=new String (buffer, 0, length); } System.out.println (str);//Fis.close (); }catch (FileNotFoundException e) {System.out.println ("file does not exist"); }catch (IOException e) {e.printstacktrace (); }}//public static void Filereadercopy (String src,string des) {try{filereader fr=new filereader (SRC) ; FileWriter fw=new FileWriter (DES); Char C[]=new char[1024]; int len=0; while ((Len=fr.read (c, 0, c.length))! =-1) {fw.write (c, 0, c.length); } fw.close (); Fr.close (); } catch (FileNotFoundException e) {System.out.println ("file does not exist"); }catch (IOException e) {System.out.println ("Read and Write Failed"); }}//public static void Bufferedreadercopy (String src,string des) {try{BufferedReader br=new BufferedReader (New FileReader (SRC)); BufferedWriter bw=new BufferedWriter (New FileWriter (DES)); String str= ""; while ((Str=br.readline ()) = null) {String upstr = Str.touppercase ();//Add Uppercase transform Bw.write (upst R);//Bw.newline (); } bw.close (); Br.close (); } catch (FileNotFoundException e) {System.out.println ("file exists"); }catch (IOException e) {System.out.println ("Read and Write Failed"); }}//Copy public static void copy (String src,string des){try{fileinputstream fis=new fileinputstream (SRC); FileOutputStream fos=new FileOutputStream (DES); int C; while ((C=fis.read ())! =-1) {fos.write (c); } fos.close (); Fis.close (); }catch (FileNotFoundException e) {System.out.println ("file does not exist"); }catch (IOException e) {System.out.println ("Read and Write Failed"); }}//Copy file public static void Copy1 (String src,string des) {try{fileinputstream fis=new Filein Putstream (SRC); FileOutputStream fos=new FileOutputStream (DES); int C; byte buff[]=new byte[1024]; while ((C=fis.read (buff,0,buff.length))! =-1) {fos.write (buff,0,c); } fos.close (); Fis.close (); }catch (FileNotFoundException e) {System.out.println ("file does not exist"); }catch (IOException e) {System.out.println ("Read and Write Failed"); } } public static void Main (string[] args) {//TODO auto-generated Method stub Filedemo.createfolder (" C:/test "); Filedemo.createfile ("C:/test", "1.txt"); Filedemo.write ("C:/test", "1.txt"); Filedemo.read ("C:/test", "1.txt"); Filedemo.read ("C:/test", "Filedemo.java"); Filedemo.bufferedreadercopy ("C:/test/filedemo.java", "C:/test/filedemo2.java"); Filedemo.copy1 ("C:/test/1.mp3", "C:/test/2.mp3"); }}
Read the file
//读文件public static void read(String path,String filename){ try{ int length = 0; String str = ""; byte buffer[]=new byte[10]; FileInputStream fis=new FileInputStream(new File(path,filename)); while((length=fis.read(buffer,0,buffer.length))!=-1){ str+=new String(buffer,0,length); } System.out.println(str); fis.close(); }catch(FileNotFoundException e){ System.out.println("文件不存在"); }catch(IOException e){ e.printStackTrace(); }}
Creation of files
public class FileDemo{ public static void createFolder(String path){ File folder = new File(path); if(folder.exists()){ System.out.println("文件已存在!"); }else{ folder.mkdir(); }} public static void createFile(String path,String filename){ File file = new File(path,filename); if(file.exists()){ System.out.println("文件已存在!"); System.out.println(file.length()); }else{ try{ file.createNewFile(); }catch(IOException e){ System.out.println("文件创建失败"); } }}public static void main(String[] args){ FileDemo.createFolder("c:/test"); FileDemo.createFile("c:/test","1.txt");}}
Write a file
public static void write(String path,String filename){ try{ String str = "234455"; byte b[] = str.getBytes(); FileOutputStream fos = new FileOutputStream(new File(path,filename)); fos.write(b); }catch(FileNotFoundException e){ System.out.println("文件不存在"); }catch(IOException e){ System.out.println("写文件失败"); }}
Read and write files
Focus:
File class Main functions: Create, read properties, write attributes, delete etc.
File read and write operations
File
Class
File
Object of the class
Used to obtain the information of the file itself, such as the directory, file length, file read and write permissions, etc., does not involve the file read and write operations.
constructor function
File(String filename)File(String directoryPath,String filename)File(File f,String filename)
Get the properties of a file
String getName()boolean canRead()boolean canWrite()long length()boolean isFile()等
Directory Operations
boolean mkdir():创建目录。String[] list():以字符串的形式返回目录下所有文件。File[] listFiles():以File对象形式返回目录下所有文件。
File operations
boolean createNewFile():创建一个新的文件。boolean delete():删除一个文件
The concept of flow
Java
The input and output functions are implemented with the input and output stream classes.
java.io
The package contains a large number of classes to complete the input and output stream.
Categories in Java streaming:
The movement direction of the flow can be divided into 输入流
输出流
two kinds.
The data type of the stream can be divided into 字节流
and 字符流
.
The input stream classes are InputStream
subclasses of abstract classes (byte input streams) or abstract class Reader
classes (character input streams).
The output stream classes are OutputStream
subclasses of abstract classes (byte output streams) or abstract class Writer
classes (character output streams).
Input stream
The input stream is used to read data, and the user can read the data from the input stream, but not write the data.
The input stream reads the data as follows:
(1) Open a stream.
such as: FileInputStream
inputFile
= new
FileInputStream
("Data source");
(2) Read the information from the information source.
such as: inputFile.read()
;
(3) Close the stream.
such as: inputFile.close()
;
Output stream
The output stream is used to write data. Can only write, cannot read.
The process of writing data to the output stream is as follows:
(1) Open a stream.
such as: FileOutputStream
outFile
= new
FileOutputStream
("Data source");
(2) Write the information to the destination.
such as: outFile.write(inputFile.read())
:
(3) Close the stream. Such as:
such as: outFile.close()
;
IO
I/O
Target of the operation
IO
The Classification method
- Ways to read files and write files
Targets for I/O operations
The goal is to read data from the data source and write the data to the data destination.
From one place input to the java
program output to another place.
File and Data Flow
Write and read out data files, in Java
the 输入/输出
form of data streams, the two forms of data flow are 16位字符
or8位字节
Operands of the data flow:
数据文件的读写线程间的数据传输网络间的数据传播
Read/write steps:
Import input/output package, import java.io.*
Package
To create a file object
FileReader/FileWriter
Class for read and write operations on text files
DataInputStream
(for file read-out) and DataOutputStream
read-write to (for file write) class files
FileInputStream
(for file readout) and FileOutputStream
objects (for file writes)
Close File
close
function Close File
Properties of the File object
Create a file
boolean createNewFile();
Create subdirectories
boolean mkdir();boolean mkdirs();
Rename/move files
boolean renameTo(File dest);
deleting files
boolean delete();
Check if the file exists
boolean exists();
Check whether the file
boolean isFile();
Check if it is a folder
boolean isDirectory();
Query file length
long length();
For the rest of your life, with you.
Jian Suda tert-Niche
A handsome boy, good development habits, ability to think independently, initiative and good at communication
Jane Book Blog: https://www.jianshu.com/u/c785ece603d1
Conclusion
- I will continue to explain the other knowledge in depth, I am interested to continue to focus on
- A little gift to walk or like.
Section 39th: IO in Java