java-io初步:Reader、Writer、Buf…
2013-09-18 14:22
239 查看
java四个基本的io基类:
字节流:InputStream、OutputStream
字符流:Reader、Writer.——作为硬盘的文件使用的两个子类:FileWriter、FileReader.
1、java早期只有字节流,后边由于处理不同字符的编码需求,出现了字符流.
2、java io体系中子类的命名通常都是以父类的名称作为后缀.
import java.io.*;
class IODemo
{
public static void main(String[] args) // throws
Exception
{
//fileWrite();
//fileRead();
//bufferdWrite();
//bufferdRead();
//通过缓冲区拷贝一个.java文件
copyJavaFile();
}
public static void fileWrite()
{
FileWriter fw =
null; //fw.close()调用需要引用fw.
try
{
fw = new
FileWriter("iodemo.txt", false); //第二个参数决定是否向覆盖原文件.
fw.write("sddddddd");
fw.write("\r\naaa"); //windows\r\n为一个回车符.
}
catch (Exception e)
{
System.out.println(e.toString());
}
finally
{
try
{
fw.close();
}
catch
(Exception e)
{
System.out.println(e.toString());
}
}
}
public static void fileRead()
{
//读取文件通用格式:
//建立字符流读取对象,于指定文件关联
FileReader fr = null;
try
{
fr = new
FileReader("iodemo.txt");
char[] arr =
new char[1024]; //将读出的数据存入到数组中.(缓存)
int num =
0;
while ((num =
fr.read(arr)) != -1) //没有读到数据后,返回-1,循环结束;read方法可以自动向后读取剩下的数据,
{
System.out.println(new
String(arr, 0, num));
}
}
catch (Exception e)
{
System.out.println(e.toString());
}
finally
{
try
{
fr.close();
}
catch
(Exception e)
{
System.out.println(e.toString());
}
}
}
public static void bufferdWrite()
{
//创建流对象
FileWriter fw = null;
//创建缓冲区跟流对象关联。
BufferedWriter bfdw =
null;
try
{
fw = new
FileWriter("iodemo.txt");
bfdw = new
BufferedWriter(fw);
int i =
0;
while (i
< 5)
{
bfdw.write("aaa"
+ i);
bfdw.newLine();
bfdw.flush();
i++;
}
bfdw.write("xxx");
//不调用flush或close,这一行数据不能写入.
bfdw.newLine();
}
catch (Exception e)
{
System.out.println(e.toString());
}
finally
{
try
{
bfdw.close();
//缓冲区的关闭是调用传入流的关闭方法.
}
catch
(Exception e)
{
System.out.println(e.toString());
}
}
}
public static void bufferdRead()
{
//创建流对象
FileReader fr = null;
//创建缓冲区跟流对象关联。
BufferedReader bfdr =
null;
try
{
fr = new
FileReader("iodemo.txt");
bfdr = new
BufferedReader(fr);
String
s;
while ( (s =
bfdr.readLine()) != null)
{
System.out.println(s);
}
}
catch (Exception e)
{
System.out.println(e.toString());
}
finally
{
try
{
bfdr.close();
//缓冲区的关闭是调用传入流的关闭方法.
}
catch
(Exception e)
{
System.out.println(e.toString());
}
}
}
public static void copyJavaFile()
{
//创建流对象
FileReader fr = null;
FileWriter fw = null;
//创建缓冲区跟流对象关联。
BufferedReader bfdr =
null;
BufferedWriter bfdw =
null;
try
{
fr = new
FileReader("iodemo.java");
fw = new
FileWriter("iodemo复件.txt");
bfdr = new
BufferedReader(fr);
bfdw = new
BufferedWriter(fw);
String
line;
while ( (line
= bfdr.readLine()) != null)
//readLine没有读取回车符,只读取了回车符前的数据,因此写入文本时需要执行newLine方法.
{
bfdw.write(line);
bfdw.newLine();
bfdw.flush();
//System.out.println(line);
}
}
catch (IOException e)
{
System.out.println(e.toString());
}
finally
{
//对两个缓冲区分别进行关闭
if (bfdw !=
null)
{
try
{
bfdw.close();
}
catch
(Exception e)
{
System.out.println(e.toString());
}
}
if (bfdr !=
null)
{
try
{
bfdr.close();
}
catch
(Exception e)
{
System.out.println(e.toString());
}
}
}
}
}
字节流:InputStream、OutputStream
字符流:Reader、Writer.——作为硬盘的文件使用的两个子类:FileWriter、FileReader.
1、java早期只有字节流,后边由于处理不同字符的编码需求,出现了字符流.
2、java io体系中子类的命名通常都是以父类的名称作为后缀.
import java.io.*;
class IODemo
{
public static void main(String[] args) // throws
Exception
{
//fileWrite();
//fileRead();
//bufferdWrite();
//bufferdRead();
//通过缓冲区拷贝一个.java文件
copyJavaFile();
}
public static void fileWrite()
{
FileWriter fw =
null; //fw.close()调用需要引用fw.
try
{
fw = new
FileWriter("iodemo.txt", false); //第二个参数决定是否向覆盖原文件.
fw.write("sddddddd");
fw.write("\r\naaa"); //windows\r\n为一个回车符.
}
catch (Exception e)
{
System.out.println(e.toString());
}
finally
{
try
{
fw.close();
}
catch
(Exception e)
{
System.out.println(e.toString());
}
}
}
public static void fileRead()
{
//读取文件通用格式:
//建立字符流读取对象,于指定文件关联
FileReader fr = null;
try
{
fr = new
FileReader("iodemo.txt");
char[] arr =
new char[1024]; //将读出的数据存入到数组中.(缓存)
int num =
0;
while ((num =
fr.read(arr)) != -1) //没有读到数据后,返回-1,循环结束;read方法可以自动向后读取剩下的数据,
{
System.out.println(new
String(arr, 0, num));
}
}
catch (Exception e)
{
System.out.println(e.toString());
}
finally
{
try
{
fr.close();
}
catch
(Exception e)
{
System.out.println(e.toString());
}
}
}
public static void bufferdWrite()
{
//创建流对象
FileWriter fw = null;
//创建缓冲区跟流对象关联。
BufferedWriter bfdw =
null;
try
{
fw = new
FileWriter("iodemo.txt");
bfdw = new
BufferedWriter(fw);
int i =
0;
while (i
< 5)
{
bfdw.write("aaa"
+ i);
bfdw.newLine();
bfdw.flush();
i++;
}
bfdw.write("xxx");
//不调用flush或close,这一行数据不能写入.
bfdw.newLine();
}
catch (Exception e)
{
System.out.println(e.toString());
}
finally
{
try
{
bfdw.close();
//缓冲区的关闭是调用传入流的关闭方法.
}
catch
(Exception e)
{
System.out.println(e.toString());
}
}
}
public static void bufferdRead()
{
//创建流对象
FileReader fr = null;
//创建缓冲区跟流对象关联。
BufferedReader bfdr =
null;
try
{
fr = new
FileReader("iodemo.txt");
bfdr = new
BufferedReader(fr);
String
s;
while ( (s =
bfdr.readLine()) != null)
{
System.out.println(s);
}
}
catch (Exception e)
{
System.out.println(e.toString());
}
finally
{
try
{
bfdr.close();
//缓冲区的关闭是调用传入流的关闭方法.
}
catch
(Exception e)
{
System.out.println(e.toString());
}
}
}
public static void copyJavaFile()
{
//创建流对象
FileReader fr = null;
FileWriter fw = null;
//创建缓冲区跟流对象关联。
BufferedReader bfdr =
null;
BufferedWriter bfdw =
null;
try
{
fr = new
FileReader("iodemo.java");
fw = new
FileWriter("iodemo复件.txt");
bfdr = new
BufferedReader(fr);
bfdw = new
BufferedWriter(fw);
String
line;
while ( (line
= bfdr.readLine()) != null)
//readLine没有读取回车符,只读取了回车符前的数据,因此写入文本时需要执行newLine方法.
{
bfdw.write(line);
bfdw.newLine();
bfdw.flush();
//System.out.println(line);
}
}
catch (IOException e)
{
System.out.println(e.toString());
}
finally
{
//对两个缓冲区分别进行关闭
if (bfdw !=
null)
{
try
{
bfdw.close();
}
catch
(Exception e)
{
System.out.println(e.toString());
}
}
if (bfdr !=
null)
{
try
{
bfdr.close();
}
catch
(Exception e)
{
System.out.println(e.toString());
}
}
}
}
}
相关文章推荐
- JAVA IO - Output/InputStream to Writer/Reader
- JavaIO中的Reader和writer
- JAVA IO包的整理---------Writer和Reader
- Java-IO之字符输入输出流(Reader和Writer)
- Java-IO之字符输入输出流(Reader和Writer)
- Java_io体系之Writer、Reader简介、走进源码——12
- Java IO 文件流的读,文件流写Writer,Reader,InputStream,OutputStream封装
- Java IO - Reader&Writer
- Java IO - CharArrayReader&CharArrayWriter
- 黑马程序员——java基础 io 流 四个基类InputStream,OutputStream,Reader,Writer
- think in java - io - reader/writer
- Java IO操作——字节流(OutputStream、InputStream)和字符流(Writer、Reader)
- Java IO--字节-字符流转换OutputStreamWriter/InputStreamReader
- Java_io体系之CharArrayReader、CharArrayWriter简介、走进源码及示例——13
- Java-IO之字符输入输出流(Reader和Writer)
- 【Java.IO】I/O 字节 <-> 字符转换流 —— InputStreamReader,OutputStreamWriter(FileReader,FileWriter)
- JAVA IO系列----FileInputStream和FileOutputStream类,Reader和Writer
- Java IO操作——字节-字符转换流(OutputStreamWriter、InputStreamReader)
- java IO操作与字节流(四)Writer与Reader实例
- Java - IO - 字符流 - Writer - Reader