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