`
1140566087
  • 浏览: 559350 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
博客专栏
2c4ae07c-10c2-3bb0-a106-d91fe0a10f37
c/c++ 入门笔记
浏览量:18540
3161ba8d-c410-3ef9-871c-3e48524c5263
Android 学习笔记
浏览量:314179
Group-logo
J2ME 基础学习课程集
浏览量:18759
A98a97d4-eb03-3faf-af96-c7c28f709feb
Spring 学习过程记录...
浏览量:17583
社区版块
存档分类
最新评论

java IO 流-字节流-字符流-缓冲流 详细案例

阅读更多
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;


// 流 	以 内存 为参照
//  字节流 :	 FileOuputStream	FileInputStream
//  字符流 :	 FileWriter 		FileReader
//	缓冲流:	BufferedWriter		BufferedReader
public class IO {
	public static void main(String[] args){
		fileReader();
	}
	
	//字节流   输出流
	public static void fileOutputStream(){
		File f = new File("e:\\text.txt");	//指定到支持的文件
		
		try{
			//文件不存在时创建
			if(f.exists()==false){
				f.createNewFile();
			}
			FileOutputStream fos = new FileOutputStream(f);
			String str = "今天的天气很闷沉";
			byte[] b = str.getBytes();
			fos.write(b);
			fos.close();
		}catch(Exception ex){
			ex.printStackTrace();
		}	
	}
	
	//字符流  输出流
	public static void fileWriter(){
		File f = new File("e:\\text.txt");
		try{
			
			if(f.exists()==false){
				f.createNewFile();
			}
			FileWriter fw = new FileWriter(f,true);	//true 表示不覆盖文件里面的内容
			String str = "今天的天气很闷沉";
			char[] ch = str.toCharArray();
			fw.write("\r\n");	//写入换行
			fw.write(ch);	
			fw.close();
		}catch(Exception ex){
			ex.printStackTrace();
		}	
	}
	
	// 缓冲流   输出流
	public static void bufferedWriter(){
		File f  = new File("e:\\text.txt");
		try{
			
			if(f.exists()==false){
				f.createNewFile();
			}
			BufferedWriter bw = new BufferedWriter(new FileWriter(f,true));	// 以字符流的对象为参数
			
			//缓冲流可以直接操作字符
			bw.write("\r\n");
			bw.write("天气不是很好!");
			
			bw.close();
		}catch(Exception ex){
			ex.printStackTrace();
		}	
	}
	
	//字节流 输入流
	public static void fileInputStream(){
		File f  = new File("e:\\text.txt");
		try{
			
			if(f.exists()==false){
				f.createNewFile();
			}
			FileInputStream fis = new FileInputStream(f);	
			
			// 字节数组的长度 ,由文件的字节大小
			byte[] b = new byte[(int)f.length()];
			fis.read(b);		//读入数据
			
			String str = new String(b);	//以字节数组构建字符串
			
			fis.close();
			System.out.println(str);
		}catch(Exception ex){
			ex.printStackTrace();
		}	
	}
	
	//字符流  输入流
	public static void fileReader(){
		File f = new File("e:\\text.txt");
		try{
			if(!f.exists()){
				f.createNewFile();
			}
			
			FileReader fr = new FileReader(f);
			
			StringBuffer sb = new StringBuffer();
			char[] ch = new char[1000];	// 字符的长度未知
			int hasRead = 0;
			while((hasRead=fr.read(ch))>0){
				sb.append(new String(ch,0,hasRead));
			}	
			
			fr.close();
			System.out.println(sb);
		}catch(Exception ex){
			ex.printStackTrace();
		}
	}

	//缓冲刘 输入流
	public static void bufferedReader(){
		File f = new File("e:\\text.txt");
		try{
			if(!f.exists()){
				f.createNewFile();
			}
			BufferedReader br  = new BufferedReader(new FileReader(f));	//字符流的对象构造
			
			//每次读取文件的一行
			StringBuffer sb = new StringBuffer();
			while(br.ready()){	//是否有读取内容
				sb.append(br.readLine());	//读取一行
				sb.append("\r\n");		//换行
			}
			br.close();
			System.out.println(sb);
			
		}catch(Exception ex){
			ex.printStackTrace();
		}
	}
}
1
2
分享到:
评论

相关推荐

    JAVA IO流缓冲字节流缓冲字符流等流经典代码示例加注释总结.rar

    2、常用21个IO流:FileWriter、FileReader、...3、JAVA IO流经典代码示例,示例从易到难。代码功能涉及字节、字符、字符串、文本文件、图片、音频、视频。演示错误用法和经典用法。 4、代码的结构可查看README文件。

    java io流-3.pdf

    - **1.3 字符数据处理**:通过字符流处理文本数据,支持Unicode等多种字符集。 - **1.4 Reader和Writer类**:Reader和Writer是处理字符数据的主要接口,它们负责读取和写入字符数据。 - **1.5 IOException**:在进行...

    JavaIO实例_字节流_字符流_缓冲流_转换流IODemo

    在Java中,IO流分为两大类:字节流和字符流,每种流又有输入流和输出流之分,分别用于数据的读取和写入。 1. **字节流**: - 字节流处理的是8位的字节数据,是最基本的流类型。Java中的`InputStream`和`...

    Java IO 体系.md

    - 字节流与字符流的转换 - 新潮的 NIO - 缓冲区(Buffer) - 通道(Channel) - 示例:文件拷贝案例 - BIO 和 NIO 拷贝文件的区别 - 操作系统的零拷贝 - 选择器(Selectors) - 选择键(SelectionKey) - ...

    Java-Io流,练习

    1. 字节流:Java的`java.io`包中提供了处理字节流的类,如`InputStream`和`OutputStream`作为所有字节输入流和输出流的基类。它们的子类如`FileInputStream`和`FileOutputStream`分别用于文件的读写。 2. 字符流:...

    Java IO commons-io-2.5.jar

    Java IO 包含了许多类,如InputStream、OutputStream、Reader、Writer等,它们分别用于处理字节流和字符流。字节流适用于二进制数据,而字符流适用于文本数据。Java IO 还包括Filter流,可以用来装饰其他流,添加...

    Java IO 字节流 字符流

    Java IO系统分为两大类:字节流和字符流。字节流主要用于处理任何类型的原始数据,如图片、音频文件或者二进制文件,而字符流则专注于处理基于文本的数据。本文将深入探讨这两类流的原理、用途以及它们之间的关联。 ...

    java-io流-文件流

    IO流体系可以分为两大类:字节流和字符流。 字节流 字节流是最基本的IO流,用于读取和写入字节数据。它可以分为两大类:字节输入流和字节输出流。 * 字节输入流(InputStream):从外部来源(如磁盘、网络)读取...

    java io流 案例

    Java IO库提供了丰富的类和接口来支持不同类型的流,包括字节流、字符流、对象流、缓冲流、转换流以及过滤流等。 字节流(Byte Stream)是处理原始二进制数据的流,分为输入流和输出流。InputStream和OutputStream...

    Java IO字符流和字节流

    ### Java IO字符流和字节流详解 #### 一、引言 在Java编程中,输入输出(简称IO)操作是十分重要的一个方面。通过IO操作,我们可以读取文件、网络数据、用户输入等,也可以将数据写入到文件、网络、控制台等。Java...

    JavaIO实例|字节流|字符流|缓冲流|转换流IODemo

    本教程将详细介绍Java IO中的字节流、字符流、缓冲流以及转换流,并通过IODemo实例来展示它们的用法。 ### 1. 字节流 字节流是Java中最基础的流类型,用于处理以字节为单位的数据。字节流分为输入流(InputStream...

    586.584.JAVA基础教程_IO流-IO流的体系结构(586).rar

    在Java IO流体系结构中,还有一类特殊的流,叫做转换流(InputStreamReader/OutputStreamWriter),它们位于字节流和字符流之间,负责将字节流转换为字符流,或者反之。 3. 链接流(PipedStream):允许线程间的...

    java-网络编程-io流-学习案例

    Java提供了多种类型的流,分为字符流和字节流两大类。字符流处理单个字符,如Reader和Writer,而字节流处理单个字节,如InputStream和OutputStream。除此之外,还有缓冲流(BufferedInputStream/BufferedReader)、...

    IO流 javaio java 流

    Java IO流分为两大类:字符流(Character Stream)和字节流(Byte Stream)。字符流处理单个字符,而字节流处理8位的字节序列。它们又可以进一步细分为输入流(InputStream/Reader)和输出流(OutputStream/Writer)...

    Java字符流和字节流

    ### Java字符流和字节流详解 #### 一、引言 在Java中,I/O流主要用于处理输入输出操作,包括文件读写等。根据处理数据类型的不同,Java I/O流主要分为字节流和字符流两大类。字节流处理的是8位的字节数据,而字符流...

    JavaIO流详细总结

    下面是对Java IO流的详细总结: 1. 流的概念: 流是一种抽象的数据传输方式,可以将数据从一个地方传输到另一个地方。Java中的流分为输入流和输出流,分别用于读取和写入数据。流按照处理数据的不同类型,又可以...

    commons-io-1.4.jar.zip_io流jar

    Java IO流体系结构分为四类:字节流(Byte Stream)、字符流(Character Stream)、对象流(Object Stream)和套接字流(Socket Stream)。字节流处理单个8位的字节,而字符流基于Unicode编码,处理16位的字符。对象...

    595.593.JAVA基础教程_IO流-缓冲流(字节型)实现非文本文件的复制(595).rar

    Java中的IO流分为字节流和字符流两类。字节流处理的是字节数据,适用于所有类型的文件,包括非文本文件。缓冲流则提供了一种提高效率的方法,通过内存缓冲区来减少磁盘操作的次数,从而提高文件读写速度。 在本教程...

    2024IO流-字符流-HM

    根据给定的信息,本文将详细解释Java中的字符流概念,特别是`FileReader`和`FileWriter`类的具体应用。字符流在处理包含大量文本数据,尤其是含有中文等多字节字符编码的文件时非常有用。 ### 1. 字符流简介 在...

    Java的IO流讲解代码: File 类、RandomAccessFile 类、字节流(文件字节流、缓冲字节流、基本数据类型

    File 类、RandomAccessFile 类、字节流(文件字节流、缓冲字节流、基本数据类型字节流、打印流、对象序列化流、字节数组流)、字符流(缓冲字符流、文件字符流、转换流、格式化输出流、字符数组流) 这份代码源码...

Global site tag (gtag.js) - Google Analytics