68399皇家赌场 1
情感问答

Java中的IO知识案例,用镜头记录乡愁

一个无情冷不防向我袭击来不及隐藏

江西流坑

68399皇家赌场 1标题图

泪流满面就把我的脑海弄成一片汪洋

在江西省抚州市乐安县境内有一个千年古村—“流坑村”,村里80%的建筑为明清时代保存完好的古建筑,并且保存有非常多的名胜古迹,如“麒麟望日”、“文庙”、“百年戏台”、“明清墙”、“状元楼”和“大宗祠遗址”等多达几十处的旅游景点,目前是全国重点文物保护单位。8月海峡摄影学校2015高研1班19名学员走进流坑进行为期3天的毕业创作采风。

流是一连流串的字符,是信息的通道,分输出流和输入流。

随流逐流的困惑东倒西歪两条眉毛已成暗礁聚集的漩涡卷进了一个触目的浓愁

68399皇家赌场 2 江西流坑
68399皇家赌场 3

IO的分类

向眉心深处坠落

江西流坑

第一种分:输入流和输出流。第二种分:字节流和字符流。第三种分:节点流和处理流。

版权作品,未经《短文学》书面授权,严禁转载,违者将被追究法律责任。

68399皇家赌场 4

Java中流的分类:流的运动方向,可分为输入流和输出流两种。

江西流坑

流的数据类型,可以分为字节流和字符流。

68399皇家赌场 5

输入流类都是抽象类InputStream或抽象类Reader类的子类。

江西流坑

输出流类都是抽象类OutputStream或抽象类Writer68399皇家赌场,类的子类。

68399皇家赌场 6

输入流从文件输入为读取,输出流从文件输出为写入数据。

江西流坑

字节输入流InputStrem和子节输出流OutputStream

68399皇家赌场 7

InputStream:FileInputStream,ObjectInputStream,ByteArrayInputStream,StringBufferInputStream,BufferedInputStream,DataInputStream

江西流坑

OutputStream:FileOutputStream,ObjectOutputStream,ByteArrayOutputStream,BufferedOutputStream,DataOutputStream

68399皇家赌场 8

输入流输入流用于读取数据,用户可以从输入流中读取数据,但不能写入数据。

江西流坑

输入流读取数据过程如下:打开一个流。如:FileInputStream inputFile=new FileInputStream;从信息源读取信息。如:inputFile.read();关闭流。如:inputFile.close();

68399皇家赌场 9

输出流输出流用于写入数据。只能写,不能读。

江西流坑

写数据到输出流过程如下:打开一个流。如:FileOutputStream outFile=new FileOutputStream;写入信息到目的地。如:outFile.write(inputFile.read:关闭流。如:outFile.close();

68399皇家赌场 10

字符流ReaderWriter

江西流坑

字节字符转换流:InputStreamReader``OutputStreamWriter

68399皇家赌场 11

加入缓冲流可以加快输入和输出的速度。

江西流坑

FileInputStream fis = new FileInputStream("from.txt");InputStreamReader isr = new InputStreamReader;// 可以加快输入和输出的速度BufferedReader br = new BufferedReader;

FileInputStream fis = new FileInputStream("from.txt");InputStreamReader isr = new InputStreamReader;// 可以加快输入和输出的速度BufferedReader br = new BufferedReader;FileOutputStream fos = new FileOutputStream("from.txt");OutputStreamWriter osw = new OutputStreamWriter;// 可以加快输入和输出的速度BufferedWriter bw = new BufferedWriter;

import java.io.*;class Test{ public static void main(String[] args){ // 声明输入流 FileInputStream fis = null; // 声明输出流 FileOutputStream fos = nulll; try{ // 生成输入流对象 fis = new FileInputStream("e:/from.txt"); // 生成输出流的对象 fos = new FileOutputStream("e:/to.txt"); // 生成字节数组 byte[] buffer = new byte[1024]; while{ // 调用输入流对象的read方法 int temp = fis.read(buffer,0,buffer.length); if(temp == -1){ break; } fos.write(buffer,0,temp); } }catch(Exception e){ System.out.println; }finally{ try{ fis.close(); fos.close(); }catch(Exception e){ System.out.println; } }}}

68399皇家赌场 12

字节输入流和字节输出流

江西流坑

Reader FileReaderWriter FileWriter

int read(char[] c, int off, int len)void write(char[] c, int off, int len)

import java.io.*;public class Demo{ public static void main(String args[]){ FileReader fr = null; // 字符输入流 FileWriter fw = null; try{ fr = new FileReader("e:/from.txt"); // 读取的文件路径 fw = new FileWriter("e:/to.txt"); char[] buffer = new char[100]; int temp = fr.read(buffer,0,buffer.length); fw.write(buffer,0,temp); // for(int i = 0; i<buffer.length; i++){ System.out.println(buffer[i]; } // }catch(Exception e){ System.out.println; }finally{ try{ fr.close(); fw.close(); }catch(Exception e){ System.out.println; } } }}

68399皇家赌场 13

BufferedReader 处理流 字符流 输入流,字符输入处理流。

江西流坑

方法readLine()

68399皇家赌场 14

import java.io.*;class Test{ public static void main(String args[]){ FileReader fileReader = null; BufferedReader bufferedReader = null; tryl{ fileReader = new FileReader("e:/from.txt"); bufferedReader = new BufferedReader(fileReader); // readLine() 读取一行数据 String line = bufferedReader.readLine(); System.out.println; // String line = null; while{ line = bufferedReader.readLine(); if(line == null){ break; } System.out.println; } }catch(Exception e){ System.out.println; }finally{ try{ bufferedReader.close(); fileReader.close(); }catch(Exception e){ System.out.println; } }} 

江西流坑

工厂模式

68399皇家赌场 15

interface Student{ public void doWork();}

class Demo1 implements Student{ public void doWork(){ System.out.println; }}

class Demo2 implements Student{ public void doWork(){ System.out.println; }}

class Dashu implements Student{ private Stuent student; public Dashu(Student student){ this.student = student; } public void doWork(){ System.out.println; student.doWork(); }}

class School{ public static void main(String[] args){ // Demo1 demo1 = new Demo1(); Dashu dashu = new Dashu; dashu.doWork(); }}

江西流坑

IO为输入输出的意思,从外面读取数据用InputStream,向外边写入数据用OutputStreamStream为流,在计算机中一切都是以二进制的字节构成的世界,InputStreamOutputStream来读取二进制,我们看起来会很麻烦,所以有了Reader/Writer的接口,用来处理这些字符流。

68399皇家赌场 16

FileReader fileReader = new FileReader("e:/from.txt");BufferedReader bufferedReader = new BufferedReader(fileReader);String line = bufferedReader.readLine();

try{FileReader fileReader = new FileReader("e:/from.txt");BufferedReader bufferedReader = new BufferedReader(fileReader);String line = null;while{ line = bufferedReader.readLine(); if(line == null){ break; } System.out.println;}}catch(Exception e){ System.out.println;}finally{ try{ bufferedReader.close(); fileReader.close();}catch(Exception e){ System.out.println;}

江西流坑

增强API – NIO non-blocking IO

68399皇家赌场 17

Channel Buffer Selector 

江西流坑

nio新加的,对线程是非阻塞的作用。

68399皇家赌场 18

往后余生,唯独有你简书作者:达叔小生90后帅气小伙,良好的开发习惯;独立思考的能力;主动并且善于沟通简书博客:

江西流坑

  • 下面我将继续对 其他知识 深入讲解 ,有兴趣可以继续关注
  • 小礼物走一走 or 点赞

68399皇家赌场 19

江西流坑

68399皇家赌场 20

江西流坑

68399皇家赌场 21

江西流坑

68399皇家赌场 22

江西流坑

68399皇家赌场 23

江西流坑

68399皇家赌场 24

江西流坑

68399皇家赌场 25

江西流坑

68399皇家赌场 26

江西流坑

68399皇家赌场 27

江西流坑

68399皇家赌场 28

江西流坑

68399皇家赌场 29

江西流坑

68399皇家赌场 30

江西流坑

68399皇家赌场 31

江西流坑

68399皇家赌场 32

江西流坑

68399皇家赌场 33

江西流坑

68399皇家赌场 34

江西流坑

68399皇家赌场 35

江西流坑

68399皇家赌场 36

江西流坑

游记来自蝉游记网站-千江水

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章