您的位置:首页 > 职场人生

黑马程序员--IO流

2015-07-22 14:35 471 查看
<a href="http://www.itheima.com" target="blank">android培训</a>

关于IO流就是input 和output

流按流向分为:输入流和输出流

流按操作数据分为:字节流和字符流

字节流的抽象基类:

InputStream OutputStream

字符流的抽象基类:

Reader Writer

例子1

字符流 FileWriter

import java.io.*;

class FileWriterDemo1

{

public static void main(String[] args) throws IOException

{

FileWriter wr=new FileWriter("hao.txt");

wr.write("abc");//写入数据

wr.write("abc");

wr.write("abc");

wr.flush();//刷新流对象中缓冲中的数据,将数据刷到目的地

wr.close();//关闭流资源,关闭之前会刷新内部缓冲中的数据,将数据刷到目的地

}

}

例子2

读取字符流 FileReader

import java.io.*;

class FileReaderDemo2

{

public static void main(String[] args) throws IOException

{

FileReader re=new FileReader("hao.txt");

/*

int ch=re.read(); //打印出第一个字符,因为第一个字符为a,因为前面返回值是int,所以输出97



{

System.out.println("read-="+ch);



}

*/

//下面的语句可以读取所有

while(true)

{

int ch=re.read();

if(ch==-1) //-1意思是已经到了最尾一个数,

break;

System.out.print((char)ch); //因为前面是Int类型,后面是用字符来转变



}





}

}

例子3

关于BufferedWriter 缓冲区

缓冲区的出现是为了提高流的操作效率的出现,所以在创建缓冲区之前,

必须要有流对象,该缓冲区提供了一个跨平台换行符。

换行符,newline



import java.io.*;

class BufferedWriterDemo

{

public static void main(String[] args) throws IOException

{

FileWriter wr=new FileWriter("buf.txt");



BufferedWriter buf=new BufferedWriter(wr);



for(int x=1;x<10;x++)



{

buf.write("abc"+x); //写入buf.txt文本

buf.newLine(); //在文本里面起到换行

buf.flush();

}

buf.close();

}





}



//模版

// 用到buffere缓冲技术,转换流, 输入流和输出流

/*

import java.io.*;

class InputStreamReaderDemo

{

public static void main(String[] args) throws IOException

{

//键盘录入

BuffereReader br=new BuffereReader(new InputStreamReader(System.in));



BuffereWriter bw=new BuffereWriter(new OutputStreamWriter(System.out));控制台

// 由于有缓冲技术在里面,不用定义数组,缓冲技术有我们想要的两个方法

//1、newLine() 换行 2、readline() 读一行

string line=0;

while((line=bufr.readLine())!=null) //null读到最后的意思



bw.write(line.toUpperCase); //toUpperCase 转成大写意思

br.readline();

br.newLine();



}

br.close();

bw.close();

}

*/

/*

//1、通过键盘录入,在控制台显示出来,并却要大写

/*思路:

源:键盘

目标:控制台

/*

import java.io.*;

class InputStreamReaderDemo

{

public static void main(String[] args) throws IOException

{

//键盘录入

BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));



BufferedWriter bufw=new BufferedWriter(new OutputStreamWriter(System.out));//控制台

// 由于有缓冲技术在里面,不用定义数组,缓冲技术有我们想要的两个方法

//1、newLine() 换行 2、readline() 读一行

String line=null;

while((line=bufr.readLine())!=null)

{

bufw.write(line.toUpperCase());

bufw.newLine();

bufw.flush();

}





bufr.close();

bufw.close();

}



}

*/

/*

//2、通过键盘录入,数据写到文件

/*思路:

源:键盘

目标:文件

/*

import java.io.*;

class InputStreamReaderDemo

{

public static void main(String[] args) throws IOException

{

//键盘录入

BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));



BufferedWriter bufw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("yao.txt")));//控制台

// 由于有缓冲技术在里面,不用定义数组,缓冲技术有我们想要的两个方法

//1、newLine() 换行 2、readline() 读一行

String line=null;

while((line=bufr.readLine())!=null)

{

bufw.write(line.toUpperCase());

bufw.newLine();

bufw.flush();

}





bufr.close();

bufw.close();

}



}

*/

/*

//3、将一个文件的数据打印在控制台

/*思路:

源:文件

目标:控制台

/*

import java.io.*;

class InputStreamReaderDemo

{

public static void main(String[] args) throws IOException

{

//键盘录入

BufferedReader bufr=new BufferedReader(new InputStreamReader(new FileInputStream("yao.txt"))); //文件是已有的文件



BufferedWriter bufw=new BufferedWriter(new OutputStreamWriter(System.out));//控制台

// 由于有缓冲技术在里面,不用定义数组,缓冲技术有我们想要的两个方法

//1、newLine() 换行 2、readline() 读一行

String line=null;

while((line=bufr.readLine())!=null)

{

bufw.write(line.toUpperCase());

bufw.newLine();

bufw.flush();

}





bufr.close();

bufw.close();

}

}

*/

/*

//4、将一个文件的数据复制到另外一个文件

//源:文件

//目标:文件

import java.io.*;

class InputStreamReaderDemo

{

public static void main(String[] args) throws IOException

{

//键盘录入

BufferedReader bufr=new BufferedReader(new InputStreamReader(new FileInputStream("yao.txt"))); //文件是已有的文件



BufferedWriter bufw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("yaoxufan.txt")));//控制台

// 由于有缓冲技术在里面,不用定义数组,缓冲技术有我们想要的两个方法

//1、newLine() 换行 2、readline() 读一行

String line=null;

while((line=bufr.readLine())!=null)

{

bufw.write(line.toUpperCase());

bufw.newLine();

bufw.flush();

}





bufr.close();

bufw.close();

}



}

*/

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: