java 使用带有缓冲的字符流读写数据
2017-05-28 22:37
369 查看
案例
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
public class RWByBufferCharStream {
public static void main(String[] args) {
/*
* 数据的读 出
*/
//File file = new File("1.txt");
try {
//传入一个文件字符流输入流
FileInputStream fileInputStream = new FileInputStream("1.txt");
//将字符流转化为字节流
FileOutputStream fileOutputStream = new FileOutputStream("i_newbuffer.txt");
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream,"UTF-8");
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream, "UTF-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
//BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter);
PrintWriter printWriter = new PrintWriter( outputStreamWriter,true);//使用这个类会有换行符出现
String input;
while((input=bufferedReader.readLine())!=null)//读取文件的一行数据
{
//bufferedWriter.write(input);// BufferedWriter bufferedWriter自带有缓冲区 只有当缓冲区写满后才写入硬盘这样 可以提高硬盘使用量,硬盘的寿命 整体写出时间变短
printWriter.println(input);//输出有换行符的字符串
}
//读取一段缓存流后需要 写入到文件中
//为了 保证缓冲区所有文件都输出 需要强制输出 printWriter.flush();
printWriter.flush();
printWriter.close();
bufferedReader.close();
outputStreamWriter.close();
inputStreamReader.close();
fileOutputStream.close();
fileInputStream.close();
System.out.println("文件拷贝完成");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
结果 如下:
文件拷贝完成
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
public class RWByBufferCharStream {
public static void main(String[] args) {
/*
* 数据的读 出
*/
//File file = new File("1.txt");
try {
//传入一个文件字符流输入流
FileInputStream fileInputStream = new FileInputStream("1.txt");
//将字符流转化为字节流
FileOutputStream fileOutputStream = new FileOutputStream("i_newbuffer.txt");
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream,"UTF-8");
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream, "UTF-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
//BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter);
PrintWriter printWriter = new PrintWriter( outputStreamWriter,true);//使用这个类会有换行符出现
String input;
while((input=bufferedReader.readLine())!=null)//读取文件的一行数据
{
//bufferedWriter.write(input);// BufferedWriter bufferedWriter自带有缓冲区 只有当缓冲区写满后才写入硬盘这样 可以提高硬盘使用量,硬盘的寿命 整体写出时间变短
printWriter.println(input);//输出有换行符的字符串
}
//读取一段缓存流后需要 写入到文件中
//为了 保证缓冲区所有文件都输出 需要强制输出 printWriter.flush();
printWriter.flush();
printWriter.close();
bufferedReader.close();
outputStreamWriter.close();
inputStreamReader.close();
fileOutputStream.close();
fileInputStream.close();
System.out.println("文件拷贝完成");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
结果 如下:
文件拷贝完成
相关文章推荐
- java20.IO操作------使用带有缓冲的字符流读写数据
- java-IO操作——使用带有缓冲的字符流读写数据
- 使用带有缓冲的字符流读写数据
- 使用带有缓冲的字符流读写数据
- JAVA IO :使用带缓冲的字节流读写数据
- java18.IO操作------使用带缓冲的字节流读写数据
- java 使用字符流读写数据
- JAVA IO:使用字符流读写数据
- 使用带有缓冲的字节流读写数据
- 使用带有缓冲的字节流读写数据
- java-IO操作-使用字符流读写数据
- java19.IO操作------使用字符流读写数据
- JAVA基础初探(十三)IO简介、字节流与字符流区别、带缓冲的字节/字符流读取数据、FileReader/FileWriter便捷类、Apache IO库使用说明
- 【Java基础知识】IO类--字符流读写数据以及复制文件的几种方式
- Java字符流读写数据的两种方式
- 使用字符流读写数据
- java 使用字节流读写数据
- Hadoop总结:在java中使用FileSystem的api读写数据(能力工场)
- java-IO操作——使用字节流读写数据
- Java网络编程从入门到精通(34):读写缓冲区中的数据---使用get和put方法按顺序读写单个数据