基于字符进行操作适用于操作双字节符号的首选。适用于读取文字类文件,并不适用于所有的文件类型,例如图片。 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.Reader; import java.io.Writer; public class BufferedByStream { public static void main(String[] args) { String file = "src/docs/1.txt"; String con = "\r\nhelloJAVA"; writeStream(con,file); String content = readerStream(file); System.out.println(content); } private static void writeStream(String content,String fileName){ Writer write = null; BufferedWriter buffer = null; try { write = new FileWriter(fileName,true); buffer = new BufferedWriter(write); buffer.write(content); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(buffer != null){ try { buffer.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(write != null){ try { write.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } private static String readerStream(String fileName) { String content = null; Reader reader = null; BufferedReader buffer = null; try { reader = new FileReader(fileName); buffer = new BufferedReader(reader); StringBuilder builder = new StringBuilder(); String line = new String(); while ((line = buffer.readLine()) != null) { builder.append(line); builder.append("\r\n"); } content = builder.toString(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { if (buffer != null) { try { buffer.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (reader != null) { try { reader.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } return content; } } |
|