您的位置:首页 > 编程语言 > Java开发

Java 字符流读取数据

2016-05-18 11:39 435 查看
使用InputStreamReader语OutputStreamWriter字符流读写文件数据

public static void main(String[] args) {
//  File file=new File("test.txt");
try {
FileInputStream fis=new FileInputStream("test.txt");//输入流,字节流
FileOutputStream fos=new FileOutputStream("test_new.txt");
InputStreamReader isr=new InputStreamReader(fis,"UTF-8");//将字节流转换成字符流
OutputStreamWriter osr=new OutputStreamWriter(fos,"UTF-8");

char c[]=new char[100];
int l=0;
while ((l=(isr.read(c)))!=-1) {
//String inputstring=new String(c,0,l);
osr.write(c,0,l);//0是写入的偏移量,l是写入的长度

}
System.out.println("done");
isr.close();
fis.close();
osr.close();
fos.close();
} 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();
}
}


使用带缓冲的字符流读写数据

public static void main(String[] args) {
//  File file=new File("test.txt");
try {
FileInputStream fis=new FileInputStream("test.txt");//输入流,字节流
InputStreamReader isr=new InputStreamReader(fis,"UTF-8");//将字节流转换成字符流
FileOutputStream fos=new FileOutputStream("test_tl.txt");//输出流
OutputStreamWriter osr=new OutputStreamWriter(fos,"UTF-8");//写入数据
BufferedReader br=new BufferedReader(isr);
//      BufferedWriter bw=new BufferedWriter(osr);
PrintWriter  pw=new PrintWriter(osr,true);//打印输出流
String input;
while ((input=br.readLine())!=null) {
//          bw.write(input);//输出一行
pw.println(input);

}
System.out.println("done");
pw.flush();
pw.close();
//  bw.flush(); bw.close();
br.close();
isr.close();
fis.close();
osr.close();
fos.close();
} 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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java