JAVA中的基本IO流及高效缓冲流读写文件的4中方法

时间:2025-02-21 20:38:35

一:基本IO流

1.字节输出流超类:OutputStream 

      作用:从java程序将数据写入到文件中,每次只操作文件中的1个字节

    使用其子类,FileOutputStream操作文件

2.字节输入流超类:InputStream

    作用:从文件中读取字节到程序,每次只读取一个字节

    使用其子类FileInputStream读取文件

3.转换流:

            OutputStreamWriter,字符流到字节流的桥梁

            InputStreamReader,字节流到字符流的桥梁

4.字符输出流:FileWriter

5.字符输入流:FileReader

二:高效缓冲流

    BufferedInputStream:高效字节输入流

    BufferedOutputStream:高效字节输出流

    BufferedWriter:高效字符缓冲流

    BUfferedReader:高效字符输入流

1.字节流复制文件1.一次读取写入一个字节

               FileInputStream fis = new FileInputStream(new File("C:\\"));
               FileOutputStream fos = new FileOutputStream(new File("C:\\"));
               int len = 0;
               // 一次读取一个字节
               while ((len = ()) != -1) {
                    (len);
                    ();
               }
               ();
               ();

2.字节流复制文件2.一次读取写入一个字节数组

                FileInputStream fis = new FileInputStream(new File("C:\\JD_PHONE_LIST_UTF"));
		FileOutputStream fos = new FileOutputStream(new File("C:\\"));
		int len = 0;
		byte[] bytes =new byte[1024];
		// 一次读取一个字节
		while ((len = (bytes)) != -1) {  
			(bytes,0,len);
			();
		}
		();
		();
3.字节流复制文件3.一次读取写入一个字节到缓冲流
                FileInputStream fis = new FileInputStream(new File("C:\\JD_PHONE_LIST_UTF"));
		BufferedInputStream bis = new BufferedInputStream(fis);
		FileOutputStream fos = new FileOutputStream(new File("C:\\"));
		BufferedOutputStream bos = new BufferedOutputStream(fos); 
		int len =0;
		while((len = ())!=-1){
			(len);
			();
		}
		();
		();
4.字节流复制文件4.一次读取写入一个字节数组到缓冲流
                FileInputStream fis = new FileInputStream(new File("C:\\JD_PHONE_LIST_UTF"));
		BufferedInputStream bis = new BufferedInputStream(fis);
		FileOutputStream fos = new FileOutputStream(new File("C:\\"));
		BufferedOutputStream bos = new BufferedOutputStream(fos); 
		int len =0;
		byte[] bytes=new byte[1024];
		while((len = (bytes))!=-1){
			(bytes, 0, len);
			();
		}
		();
		();

5.高效字符缓冲流复制文件一次读取一行:

                BufferedReader br = new BufferedReader(new FileReader(new File("C:\\JD_PHONE_LIST_UTF")));
		BufferedWriter bw = new BufferedWriter(new FileWriter(new File("C:\\")));
		String line ="";
		while((line =())!=null){
			(line);
			();
			();
		}
		();
		();

6.高效字符缓冲流转换流复制文件一次读取一行:

                //以UTF-8编码读取
		BufferedReader bReader  = new BufferedReader(new InputStreamReader(new FileInputStream("C:\\JD_PHONE_LIST_UTF"), "UTF-8"));
		//以ISO-8859-1编码写出
		BufferedWriter bWriter =new BufferedWriter(new OutputStreamWriter(new FileOutputStream("c:\\"), "ISO-8859-1"));
		String line = null;
		while((line =())!=null){
			(line);
			();
			();
		}
		();
		();