#
* [IO](#io)
* [Java IO](#java-io)
* [IO](#io)
* [](#)
* [IO](#io)
* [Java IO](#java-io)
* [](#)
* [System.in, System.out, System.err](#systemin-systemout-systemerr)
* [BufferedFilter](#bufferedfilter)
* [JavaIO](#javaio)
* [IO](#io)
* [](#)
* [Java](#java)
* [FileInputStreamFileOutputStream](#fileinputstreamfileoutputstream)
* [System.out.println()](#systemoutprintln)
* [Filter](#filter)
* [Filter](#filter)
* [](#)
* [(Piped Stream)](#piped-stream)
* [File](#file)
* [RandomAccessFile?](#randomaccessfile)
* [](#)
GitHubJava
> https://github.com/h2pl/Java-Tutorial
Star
> www.how2playlife.com
JavaJava
JavaJavaJava
Java
ifeve.com
## IO
> Java IO(java.io)
****
OutputStreamInputStreamJava IO
JavaIO
System.in, System.out, System.error(Java)

****
Java IOJava IO()()
InputStream, OutputStream, Reader Writer
InputStreamReaderOutputStreamWriter

InputStreamReaderOutputStreamwriter
**Java IO**
Java IOInputStreamOutputStreamReaderWriterIO
()
(Readers / Writers)
(long, int etc.)
Java IO
Java IO
Java IOJava IO

Java IO

### Java IO
Java IO
RandomAccessFile
PushbackInputStream
>
> Java IOstreamInputStreamOutputStreamDataInputStream DataOutputStream int, long, floatdouble
>
> ReaderWriter(Latin1Unicode)Java Readers and Writers
**InputStream**
java.io.InputStreamJava IOInputStream(FileInputStream)
****
InputStreamBufferedInputStream
InputStream input = new BufferedInputStream(new FileInputStream("c:\\data\\input-file.txt"));
> OutputStream()BufferedOutputStream
>
> InputStreamPushbackInputStreamInputStreamSequenceInputStream
>
>
### IO
JavaJava
**Java IO**
FileInputStreamFileReader
RandomAccessFile
**Java IO**
FileOutputStreamFileWriter
**Java IO**
RandomAccessFile
RandomAccessFile
````
@Test
//
public void test1() {
try {
FileInputStream fileInputStream = new FileInputStream(new File("a.txt"));
FileOutputStream fileOutputStream = new FileOutputStream(new File("b.txt"));
byte []buffer = new byte[128];
while (fileInputStream.read(buffer) != -1) {
fileOutputStream.write(buffer);
}
//mode
RandomAccessFile randomAccessFile = new RandomAccessFile(new File("c.txt"), "rw");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
````
###
Java IOReaderWriterInputStreamOutputStreamInputStreamOutputStream
Reader
ReaderJava IOReaderBufferedReaderPushbackReaderInputStreamReaderStringReaderReader
Writer
WriterJava IOWriterBufferedWriterPrintWriter
Java IO Reader
````
Reader reader = new FileReader("c:\\data\\myfile.txt");
int data = reader.read();
while(data != -1){
char dataChar = (char) data;
data = reader.read();
}
````
ReaderReaderReaderInputStreamReaderCharArrayReaderFileReaderJava IOReader
**ReaderInputStream**
ReaderInputStreamInputStreamInputStreamInputStreamReaderInputStreamInputStreamReader
````
Reader reader = new InputStreamReader(inputStream);
````
**Writer**
WriterJava IOWriterBufferedWriterPrintWriterJava IO Writer
````
Writer writer = new FileWriter("c:\\data\\file-output.txt");
writer.write("Hello World Writer");
writer.close();
````
WriterWriterOutputStreamWriterCharArrayWriterFileWriterWriterwrite(int c)16Writer16
**WriterOutputStream**
ReaderInputStreamWriterOutputStreamOutputStreamOutputStreamWriterOutputStreamWriterOutputStreamOutputStreamWriter
````
Writer writer = new OutputStreamWriter(outputStream);
````
### IO
Java IOJVM
JVM()JavaUnix/LinuxUnix/LinuxJava
Java IO
Java IOPipedOutputStreamPipedInputStreamPipedInputStreamPipedOutputStream
PipedOutputStreamPipedInputStream
Java IO
PipedInputStreamPipedOutputStream
````
//
@Test
public void test2() throws IOException {
PipedInputStream pipedInputStream = new PipedInputStream();
PipedOutputStream pipedOutputStream = new PipedOutputStream(pipedInputStream);
new Thread(new Runnable() {
@Override
public void run() {
try {
pipedOutputStream.write("hello input".getBytes());
pipedOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
new Thread(new Runnable() {
@Override
public void run() {
try {
byte []arr = new byte[128];
while (pipedInputStream.read(arr) != -1) {
System.out.println(Arrays.toString(arr));
}
pipedInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
````
read()write()
JVMJava IO
### Java IO
JavaJava IOJavaJavaJava IOAPI
InputStreamOutputStreamJavaAPIJava IO
OutputStreamFileOutputStreamFileOutputStreamOuputStream
````
//OutputStream
public void test3() {
//
OutputStream outputStream = new OutputStream() {
@Override
public void write(int b) throws IOException {
}
};
}
public void process(OutputStream ouput) throws IOException {
//
//do something with the OutputStream
}
````
###
InputStreamReader
OutputStreamWriter
java
````
//io
public void test4() {
//arrbrr
char []arr = {'a','c','d'};
CharArrayReader charArrayReader = new CharArrayReader(arr);
byte []brr = {1,2,3,4,5};
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(brr);
}
````
### System.in, System.out, System.err
System.in, System.out, System.err3System.out
JVMJava3()
System.in
System.inInputStreamJavaSystem.inJava IO
System.out
System.outPrintStreamSystem.outSystem.outSystem.out()
System.err
System.errPrintStreamSystem.errSystem.outEclipseSystem.err
System.outSystem.err
System.outSystem.err
````
//System.in, System.out, System.err
public static void main(String[] args) {
int in = new Scanner(System.in).nextInt();
System.out.println(in);
System.out.println("out");
System.err.println("err");
//10
// err
// 10
// out
}
````
### BufferedFilter
BufferedReaderIOIO
BufferedReaderBufferedInputStreamBufferedReaderBufferedInputStreamReaderBufferedReaderReader(81928KB)
Reader input = new BufferedReader(new FileReader("c:\\data\\input-file.txt"));
Reader input = new BufferedReader(new FileReader("c:\\data\\input-file.txt"), 8 * 1024);
8KB1024
BufferedReaderReaderBufferedReaderreadLine()
**BufferedWriter**
BufferedReaderBufferedWriterBufferedWriter(8 * 1024B)
Writer writer = new BufferedWriter(new FileWriter("c:\\data\\output-file.txt"));
Writer writer = new BufferedWriter(new FileWriter("c:\\data\\output-file.txt"), 8 * 1024);
1024BufferedWriterWriterBufferedWriterwriteLine()
**flush()**
**FilterReader**
FilterInputStreamFilterReaderReader
ReaderFilterReaderReaderFilterReaderReader
## JavaIO
### IO
(process)
###
JDK1.0ASCIIJAVAUnicodeUnicodeJAVAJDK1.1ASCIIUnicode
### Java
java.io.InputStream
java.io.OutputStream
java.io.Reader
java.io.Writer
### FileInputStreamFileOutputStream
BufferedInputStream ( BufferedReader) BufferedOutputStream ( BufferedWriter)
### System.out.println()
printlnPrintStreamoutPrintStreamSystemjava.lang
### Filter
Filter StreamIO
### Filter
java.io4filter Streamfilter streamfilter stream. FilterInputStream, FilterOutputStream, FilterReader and FilterWriter.
###
BufferedInputStreamBufferedOutputStream
BufferedReader BufferedWriter
### (Piped Stream)
PipedInputStream, PipedOutputStream, PipedReader PipedWriter.
### File
IO
### RandomAccessFile?
java.ioObjectRandomAccessFile DataInputStream DataOutStreamRandomAccessFile
##
https://www.imooc.com/article/24305
https://www.cnblogs.com/UncleWang001/articles/10454685.html
https://www.cnblogs.com/Jixiangwei/p/Java.html
https://blog.csdn.net/baidu_37107022/article/details/76890019