JAVA中的IO流是非常重要的知识点,用于文件内容的写入、读取。IO流分为字节流和字符流,字节流是一个字节一个字节的进行写入和读取,而字符流是以字符的形式进行写入和读取的。在网络中通常是以字节流进行传输的,因为字节是最小的单位,这样不容易丢失数据。IO的应用时很广泛的,比如XML的解析就用到了IO流。下面是一个小例子,分别用字节流和字符流进行文件的读写。import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.OutputStream;
public class FileTal { public static void main(String[] args) { File file=new File("src//IO//filter.txt"); //字节流写入 FileOutputStream fs; try { fs = new FileOutputStream(file); BufferedOutputStream bos=new BufferedOutputStream(fs); bos.write(97); bos.flush(); bos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } //字节流读出 try { FileInputStream fis=new FileInputStream(file); BufferedInputStream bis=new BufferedInputStream(fis); int str=bis.read(); while(str!=-1){ System.out.println((char)str); str=bis.read(); } bis.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } //字符流的写入 try { FileWriter fw=new FileWriter(file); BufferedWriter bw=new BufferedWriter(fw); bw.write("a 是福克斯方式方式"); bw.newLine(); bw.write("厦开始付款老师富士康方式 "); bw.flush(); bw.close(); } catch (IOException e) { e.printStackTrace(); } //字符流的读取 try { FileReader fr=new FileReader(file); BufferedReader br=new BufferedReader(fr); String st=br.readLine(); while(st!=null){ System.out.println(st); st=br.readLine(); } br.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }}}
public class FileTal { public static void main(String[] args) { File file=new File("src//IO//filter.txt"); //字节流写入 FileOutputStream fs; try { fs = new FileOutputStream(file); BufferedOutputStream bos=new BufferedOutputStream(fs); bos.write(97); bos.flush(); bos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } //字节流读出 try { FileInputStream fis=new FileInputStream(file); BufferedInputStream bis=new BufferedInputStream(fis); int str=bis.read(); while(str!=-1){ System.out.println((char)str); str=bis.read(); } bis.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } //字符流的写入 try { FileWriter fw=new FileWriter(file); BufferedWriter bw=new BufferedWriter(fw); bw.write("a 是福克斯方式方式"); bw.newLine(); bw.write("厦开始付款老师富士康方式 "); bw.flush(); bw.close(); } catch (IOException e) { e.printStackTrace(); } //字符流的读取 try { FileReader fr=new FileReader(file); BufferedReader br=new BufferedReader(fr); String st=br.readLine(); while(st!=null){ System.out.println(st); st=br.readLine(); } br.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }}}