黑马程序员-------IO流(字符流)
2014-03-25 21:31
351 查看
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
1.
IO流的概述
IO数据流使用来处理设备之间的数据的传输的。。Java是通过流的方式对数据进行操作的
Java把流封装成类存在IO包中
流的分类:
流按操作数据分为:字节流和字符流
按流向分为:输入流 和 输出流
字符流FileWriter
package day18;
import java.io.FileWriter;
import java.io.IOException;
/**
* 字符流
* @author hao
*
*字符流的基类
*Reader Writer
*
*字符流在操作文本文件的时候经常用到
*
*练习的需求:
*在硬盘上创建一个hao.txt 并在其中写入数据
*
*在API中找到专门操作文本的的Writer的子类 它的子类一般具有后缀是父类 前缀为此类的功能
*/
public class FileWriterDemo {
public static void main(String[] args) {
//创建流的引用
FileWriter fw = null;
try{
//初始化流, 当初始化是必须要明确写入的文件
// 当写入的文件同名的话 会将其覆盖
fw = new FileWriter("hao.txt");
//向文件中写入数据
fw.write("haoha");
//刷新流,将数据写入文本
// fw.flush();
}catch(Exception e)
{
e.printStackTrace();
}finally
{
try {
//如果不判断 fw为null 的话 有可能会出现空指针异常
if(!(fw==null))
//刷新并关闭 字符流
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
/*
* flush() 与 close() 的区别
* flush() 刷新后,流可以继续在使用
* close() 刷新后,将流关闭 不能再使用
* */
文件的续写
package day18;
import java.io.FileWriter;
import java.io.IOException;
/**
* 文件的续写
* @author hao
*
*所用的方法为
*
*FileWriter(String fileName, boolean append)
*当append 的值,如果为 true,则将数据写入文件末尾处,而不是写入文件开始处。
*
*/
public class FileWriterDemo2 {
public static void main(String[] args) {
FileWriter fw = null;
try {
//true 表示不覆盖原有的文件,在文本的末尾续写
fw = new FileWriter("hao.txt",true);
//续写的内容
// \r\n 为windows的换行符
fw.write("\r\nheima");
} catch (Exception e) {
e.printStackTrace();
}finally
{
if(!(fw==null))
try {
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
FileReader
文件的两种读数据的方式
第一种方式:
package day18;
import java.io.FileReader;
import java.io.IOException;
/**
* 文本读取的第一种方法
* @author hao
*
*采用的方法:
* int read()
* 读取单个字符。
*/
public class FileReaderDemo {
public static void main(String[] args)
{
//创建一个读取文件流的引用
FileReader fr = null;
try {
//和指定的文件相关联
fr = new FileReader("hao.txt");
//调用读取流的方法 read()方法 循环将文件的内容读出
int ch = 0;
while((ch=fr.read())!=-1)
{
System.out.print((char)ch);
}
// System.out.println("读取的字符:"+(char)fr.read());
} catch (Exception e) {
e.printStackTrace();
}finally
{
if(!(fr==null))
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
第二种方式:
package day18;
import java.io.FileReader;
/**
* 读取文件的第二种方法
* @author hao
*
*运用的方法:
* int read(char[] )
将字符读入数组的某一部分。
*/
public class FlieReaderDemo2 {
public static void main(String[] args) {
//定义读取流一个引用
FileReader fr = null;
try
{
//读取流与文件想关联
f
4000
r = new FileReader("hao.txt");
//定义一个数组 用于存储读取的字符
//read(char[]) 返回值为所读取的个数
char[] ch =new char[1024];
int num = 0 ;
while((num = fr.read(ch))!=-1){
System.out.println(new String(ch,0,num));
}
}catch(Exception e)
{
e.printStackTrace();
}
}
}
文件复制的练习
package day18;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/**
* 文件的复制
* @author hao
*
*步骤:
*1.创建一个文件 用于存储要复制文件的数据
*2.创建读取流 并与相应的文件想关联
*3.连续读写,完成数据的存储
*4.关闭资源
*
*/
public class CopyFileDemo {
public static void main(String[] args) {
//创建读写流 并与相应的文件想关联
FileWriter fw = null;
FileReader fr = null;
try {
fw = new FileWriter("copy_hao.txt");
fr = new FileReader("hao.txt");
char[] ch = new char[1024];
int num = 0 ;
//循环读写数据 完成文件的复制
while((num = fr.read(ch))!=-1)
{
fw.write(ch, 0, num);
fw.flush();
}
} catch (IOException e) {
throw new RuntimeException("读写错误");
}finally
//关闭资源
{
if(!(fr == null))
try {
fr.close();
} catch (IOException e) {
throw new RuntimeException("Reader流关闭错误");
}
if(!(fw==null))
try {
fw.close();
} catch (IOException e) {
throw new RuntimeException("Writer流关闭错误");
}
}
}
}
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
1.
IO流的概述
IO数据流使用来处理设备之间的数据的传输的。。Java是通过流的方式对数据进行操作的
Java把流封装成类存在IO包中
流的分类:
流按操作数据分为:字节流和字符流
按流向分为:输入流 和 输出流
字符流FileWriter
package day18;
import java.io.FileWriter;
import java.io.IOException;
/**
* 字符流
* @author hao
*
*字符流的基类
*Reader Writer
*
*字符流在操作文本文件的时候经常用到
*
*练习的需求:
*在硬盘上创建一个hao.txt 并在其中写入数据
*
*在API中找到专门操作文本的的Writer的子类 它的子类一般具有后缀是父类 前缀为此类的功能
*/
public class FileWriterDemo {
public static void main(String[] args) {
//创建流的引用
FileWriter fw = null;
try{
//初始化流, 当初始化是必须要明确写入的文件
// 当写入的文件同名的话 会将其覆盖
fw = new FileWriter("hao.txt");
//向文件中写入数据
fw.write("haoha");
//刷新流,将数据写入文本
// fw.flush();
}catch(Exception e)
{
e.printStackTrace();
}finally
{
try {
//如果不判断 fw为null 的话 有可能会出现空指针异常
if(!(fw==null))
//刷新并关闭 字符流
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
/*
* flush() 与 close() 的区别
* flush() 刷新后,流可以继续在使用
* close() 刷新后,将流关闭 不能再使用
* */
文件的续写
package day18;
import java.io.FileWriter;
import java.io.IOException;
/**
* 文件的续写
* @author hao
*
*所用的方法为
*
*FileWriter(String fileName, boolean append)
*当append 的值,如果为 true,则将数据写入文件末尾处,而不是写入文件开始处。
*
*/
public class FileWriterDemo2 {
public static void main(String[] args) {
FileWriter fw = null;
try {
//true 表示不覆盖原有的文件,在文本的末尾续写
fw = new FileWriter("hao.txt",true);
//续写的内容
// \r\n 为windows的换行符
fw.write("\r\nheima");
} catch (Exception e) {
e.printStackTrace();
}finally
{
if(!(fw==null))
try {
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
FileReader
文件的两种读数据的方式
第一种方式:
package day18;
import java.io.FileReader;
import java.io.IOException;
/**
* 文本读取的第一种方法
* @author hao
*
*采用的方法:
* int read()
* 读取单个字符。
*/
public class FileReaderDemo {
public static void main(String[] args)
{
//创建一个读取文件流的引用
FileReader fr = null;
try {
//和指定的文件相关联
fr = new FileReader("hao.txt");
//调用读取流的方法 read()方法 循环将文件的内容读出
int ch = 0;
while((ch=fr.read())!=-1)
{
System.out.print((char)ch);
}
// System.out.println("读取的字符:"+(char)fr.read());
} catch (Exception e) {
e.printStackTrace();
}finally
{
if(!(fr==null))
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
第二种方式:
package day18;
import java.io.FileReader;
/**
* 读取文件的第二种方法
* @author hao
*
*运用的方法:
* int read(char[] )
将字符读入数组的某一部分。
*/
public class FlieReaderDemo2 {
public static void main(String[] args) {
//定义读取流一个引用
FileReader fr = null;
try
{
//读取流与文件想关联
f
4000
r = new FileReader("hao.txt");
//定义一个数组 用于存储读取的字符
//read(char[]) 返回值为所读取的个数
char[] ch =new char[1024];
int num = 0 ;
while((num = fr.read(ch))!=-1){
System.out.println(new String(ch,0,num));
}
}catch(Exception e)
{
e.printStackTrace();
}
}
}
文件复制的练习
package day18;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/**
* 文件的复制
* @author hao
*
*步骤:
*1.创建一个文件 用于存储要复制文件的数据
*2.创建读取流 并与相应的文件想关联
*3.连续读写,完成数据的存储
*4.关闭资源
*
*/
public class CopyFileDemo {
public static void main(String[] args) {
//创建读写流 并与相应的文件想关联
FileWriter fw = null;
FileReader fr = null;
try {
fw = new FileWriter("copy_hao.txt");
fr = new FileReader("hao.txt");
char[] ch = new char[1024];
int num = 0 ;
//循环读写数据 完成文件的复制
while((num = fr.read(ch))!=-1)
{
fw.write(ch, 0, num);
fw.flush();
}
} catch (IOException e) {
throw new RuntimeException("读写错误");
}finally
//关闭资源
{
if(!(fr == null))
try {
fr.close();
} catch (IOException e) {
throw new RuntimeException("Reader流关闭错误");
}
if(!(fw==null))
try {
fw.close();
} catch (IOException e) {
throw new RuntimeException("Writer流关闭错误");
}
}
}
}
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
相关文章推荐
- 黑马程序员-7-java-IO流知识点串讲(1)-IO流概念及字符流Writer、Reader
- 黑马程序员--java基础--IO流(一)字符流
- 黑马程序员_IO流之字符流
- 黑马程序员--java基础:字符IO流
- 黑马程序员——IO流——递归,字节流,字符流
- 黑马程序员——IO流(字符流)
- 黑马程序员---IO流(字符流Writer、Reader)
- 黑马程序员——JAVA基础------IO流(四)----字节字符转换流和缓冲流
- 黑马程序员_学习笔记:13) IO流: 字节流(InputStream、OutputStream)、字符流(Reader、Writer)、File类、递归
- 黑马程序员——io流(一)字符流
- 黑马程序员——Java基础---IO(一)---IO流概述、字符流
- 黑马程序员——Java语言基础——07.IO流(1)字符流和字节流
- 黑马程序员_Java基础_其它对象和IO流(字符流)
- 黑马程序员_IO流2_(字符缓冲区,字节缓冲区,字节字符转换流)
- 黑马程序员----IO流(字符流、字节流、转换流)
- 黑马程序员——Java基础IO流概述、字符流、字节流、流操作规律、File类、Properties类、打印流、序列流
- 黑马程序员-IO流之字符流,File类
- 黑马程序员-JAVA基础-IO流之字符流和字符流缓冲区
- 黑马程序员_java入门_IO流_3(字符流缓冲区)
- 黑马程序员_Java_IO流_字符流