package Test2019.M03.d05; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import org.junit.Test; public class io字符流 { @Test public void fun1(){ //用字符流读取, FileReader fr = null; FileWriter fw = null; try { fr = new FileReader("D:/test/1/我的青春谁做主.txt"); File f = new File("D:/test/2/FileWriter.txt"); f.createNewFile(); fw = new FileWriter("D:/test/2/FileWriter.txt"); char[] c = new char[10]; int data; StringBuffer sb = new StringBuffer(); while((data=fr.read(c))!=-1){ for(int i=0;i<data;i++){ sb.append(c[i]); System.out.println(sb); fw.write(c[i]); } } fw.flush(); //记得关流,不关流的话,起码要清空缓冲区 } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally{ try { /*fw.close();*/ fr.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }}} @Test public void fun2(){ //用字符流读取, InputStream is = null; InputStreamReader fr = null; FileWriter fw = null; try { is = new FileInputStream("D:/test/1/我的青春谁做主.txt"); fr = new InputStreamReader(is,"utf8"); File f = new File("D:/test/2/FileWriter.txt"); f.createNewFile(); fw = new FileWriter("D:/test/2/FileWriter.txt"); char[] c = new char[10]; int data; StringBuffer sb = new StringBuffer(); while((data=fr.read(c))!=-1){ for(int i=0;i<data;i++){ sb.append(c[i]); System.out.println(sb); fw.write(c[i]); } } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally{ try { fw.close(); fr.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }}} //bufferreader的读发 @Test public void fun3(){ //用字符流读取, InputStream is = null; InputStreamReader fr = null; FileWriter fw = null; BufferedReader br = null; try { is = new FileInputStream("D:/test/1/我的青春谁做主.txt"); fr = new InputStreamReader(is,"utf-8"); br = new BufferedReader(fr); //新建文件 File f = new File("D:/test/2/FileWriter.txt"); f.createNewFile(); String st; while((st=br.readLine())!=null){ System.out.print(st); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally{ try { br.close(); fw.close(); fr.close(); } catch (IOException e) { e.printStackTrace(); }}} @Test //bufferedWriter public void fun4(){ //用字符流读取, InputStream is = null; InputStreamReader fr = null; FileWriter fw = null; BufferedReader br = null; BufferedWriter bw = null; try { is = new FileInputStream("D:/test/1/我的青春谁做主.txt"); fr = new InputStreamReader(is,"utf-8"); br = new BufferedReader(fr); //新建文件 File f = new File("D:/test/2/FileWriter.txt"); f.createNewFile(); fw = new FileWriter("D:/test/2/FileWriter.txt"); bw = new BufferedWriter(fw); String st; StringBuffer sb = new StringBuffer(); while((st=br.readLine())!=null){ System.out.print(st); sb.append(st); } bw.write(sb.toString()); bw.newLine(); bw.write("来来来"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally{ try { bw.close(); br.close(); fw.close(); fr.close(); } catch (IOException e) { e.printStackTrace(); }}} @Test public void fun5(){ //字符串替换的方法 String a = "你我他,大家共创未来!"; a=a.replace("大家", "we"); System.out.println(a); } }