//字符转换流
static void other() throws IOException {
File file=new File("文件1");
File file1=new File("文件2");
//使用缓冲流来实现字节流和字符流之间的转化
//以下是将字节流转化为字符流
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(file)));
//将字符流转化为字节流
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file1)));
String ling=null;
//原来readLine()方法在进行读取一行时,只有遇到回车(\r)或者换行符(\n)才会返回读取结果,这就是“读取一行的意思”,重要的是readLine()返回的读取内容中并不包含换行符或者回车符;
//简单的说,就是
//并且,当realLine()读取到的内容为空时,并不会返回 null,而是会一直阻塞,只有当读取的输入流发生错误或者被关闭时,readLine()方法才会返回null。
while ((ling=br.readLine())!=null) {
bw.write(ling);
}
bw.close();
br.close();
}
//不使用缓冲流,缓冲流里面只能存放字符输入流,如果要存放字节流,就只能将字节流转化为字符流
static void show() throws IOException {
File file=new File("src\\FilesList\\read.txt");
File file2=new File("src\\FilesList\\read1.txt");
BufferedReader bReader=new BufferedReader(new FileReader(file));
BufferedWriter bWriter=new BufferedWriter(new FileWriter(file2));
String lenString=null;
while ((lenString=bReader.readLine())!=null) {
bWriter.write(lenString);
}
bWriter.close();
bReader.close();
}
//字符流--53
public static void readerAndWriter() throws IOException{
File file=new File("src\\com\\ddd");
File file2=new File("src\\com\\ddd2");
Reader reader=new FileReader(file);
Writer writer=new FileWriter(file2);
char[] data=new char[10];
int length=0;
while((length=reader.read(data))!=-1) {
// writer.write(new String(data,0,length));
writer.write(data,0,length);
}
writer.close();
reader.close();
}
//字节缓冲流
static void m3() throws IOException {
File file=new File("src\\com\\ddd");
File file2=new File("src\\com\\ddd2");
BufferedInputStream bis=new BufferedInputStream(new FileInputStream(file));
BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(file2));
byte[] data=new byte[105];
int len=0;
while((len=bis.read(data))!=-1) {
bos.write(data, 0, len);
}
bos.flush();
bos.close();
bis.close();
}
//字节流
static void m4() throws IOException {
File file=new File("");
File file2=new File("");
FileInputStream fis=new FileInputStream(file);
FileOutputStream fos= new FileOutputStream(file2);
byte[] bs=new byte[3];
int len;
while((len=fis.read(bs))!=-1) {
fos.write(bs);
}
fos.close();
fis.close();
}
java IO流--转化流和字节流字符流的性能对比
最新推荐文章于 2023-03-18 10:22:22 发布