package 字符流;
import java.io.*;
public class copy1 {
/**
* @param args
* 字节流 读取文件中的二进制,会把读取到的二进制数据,转换为你看得懂的字符
* 字符流 读取的也是是文件中的二进制数据,但他会将数据进行编码,或者是解码
* 字符流 = 字节流+编码/解码
* 输入字符流
* ------Reader
* ------------FileReader
* 使用步骤:
* 1.找到你要操作的目标文件的位置
* 2.建立数据连接的通道
* 3.读取
* 4.关闭
* (和字节流的步骤一样,只是换了数据连接的通道)
* @throws IOException
*
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
readTest();
System.out.println("-------------------------------");
readTest1();
//一个字一个字读和一组一组读,显示的结果区别出来了
//一个字一个字读效率比一组一组的低,比如一颗颗吃糖和一把把吃糖的区别
}
public static void readTest()throws IOException{
//读取一个单个字符的方式,读取文件,效率较低
File file = new File("E:\\Program Files\\feiq\\Recv Files\\测试用的文件夹\\儿子\\ppp.txt");
FileReader fileReader = new FileReader(file);
int content = 0;
while((content = fileReader.read())!= -1)//如果文件未读完,是不会与有--1
{
//content的存在,只是为了接收fileReader.read()的返回值而已
System.out.println((char)content);
//每次读取的是一个字符,运行结果可以看出来,很明显一个字一个字地读取
}
fileReader.close();
}
//下面是用字符数组,来读取文件
public static void readTest1() throws IOException{
File file = new File("E:\\Program Files\\feiq\\Recv Files\\测试用的文件夹\\儿子\\ppp.txt");
FileReader fileReader = new FileReader(file);
//创建char类型的数组,然后读取的数据。是在这个数组中进行的存储的
//???不太懂,个人认为一个字一个字读也挺好的
char [] cbuf = new char[1024];
int length = 0;
while((length = fileReader.read(cbuf))!=-1){
//char类型的数组可以转为字符串,下面是字符数组转换成字符串的方法吧
String str = new String(cbuf,0,length);
System.out.println(str);
}
fileReader.close();
}
}
import java.io.*;
public class copy1 {
/**
* @param args
* 字节流 读取文件中的二进制,会把读取到的二进制数据,转换为你看得懂的字符
* 字符流 读取的也是是文件中的二进制数据,但他会将数据进行编码,或者是解码
* 字符流 = 字节流+编码/解码
* 输入字符流
* ------Reader
* ------------FileReader
* 使用步骤:
* 1.找到你要操作的目标文件的位置
* 2.建立数据连接的通道
* 3.读取
* 4.关闭
* (和字节流的步骤一样,只是换了数据连接的通道)
* @throws IOException
*
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
readTest();
System.out.println("-------------------------------");
readTest1();
//一个字一个字读和一组一组读,显示的结果区别出来了
//一个字一个字读效率比一组一组的低,比如一颗颗吃糖和一把把吃糖的区别
}
public static void readTest()throws IOException{
//读取一个单个字符的方式,读取文件,效率较低
File file = new File("E:\\Program Files\\feiq\\Recv Files\\测试用的文件夹\\儿子\\ppp.txt");
FileReader fileReader = new FileReader(file);
int content = 0;
while((content = fileReader.read())!= -1)//如果文件未读完,是不会与有--1
{
//content的存在,只是为了接收fileReader.read()的返回值而已
System.out.println((char)content);
//每次读取的是一个字符,运行结果可以看出来,很明显一个字一个字地读取
}
fileReader.close();
}
//下面是用字符数组,来读取文件
public static void readTest1() throws IOException{
File file = new File("E:\\Program Files\\feiq\\Recv Files\\测试用的文件夹\\儿子\\ppp.txt");
FileReader fileReader = new FileReader(file);
//创建char类型的数组,然后读取的数据。是在这个数组中进行的存储的
//???不太懂,个人认为一个字一个字读也挺好的
char [] cbuf = new char[1024];
int length = 0;
while((length = fileReader.read(cbuf))!=-1){
//char类型的数组可以转为字符串,下面是字符数组转换成字符串的方法吧
String str = new String(cbuf,0,length);
System.out.println(str);
}
fileReader.close();
}
}