黑马程序员--IO流

来源:互联网 发布:什么是谷歌seo 编辑:程序博客网 时间:2024/04/30 00:53

<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培训、期待与您交流! ------

 

 

0 0
原创粉丝点击