`

字节字符流

 
阅读更多
package com.dne;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.text.DateFormat;
import java.util.Date;

import com.dne.core.util.DateUtil;

public class IBM_Thread {

	static int i = 0;
	public static void main(String args[]){
		new MyThread().run();
		i = 2;
	}
	
	public static class MyThread extends Thread{

		@Override
		public void run() {
			// TODO Auto-generated method stub
			try {
				DateFormat dateFormt = DateUtil.getCnDateFormat("yyyy-MM-dd HH:mm:ss SSS");
				
				System.out.println("--------inputStream--------\n\n\n");
				System.out.println("--------BufferedReader < inputStreamReader--------\n\n\n");
				
				{
					System.out.println("start:"+dateFormt.format(new Date()));
					//为了达到最高效率,可要考虑在 BufferedReader 内包装 InputStreamReader
					BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream("D:\\cn_visual_studio_2010.iso"), "UTF-8"));
					char[] ch= new char[1024*10]; 
					StringBuffer sb = new StringBuffer();
					int result = -1;
					while((result = bufferedReader.read(ch))!=-1){
						sb.append(ch, 0, result);
						sb.reverse();
					}
					bufferedReader.close();
					//System.out.println(new String(sb.toString().getBytes(),"UTF-8"));
					System.out.println("end:"+dateFormt.format(new Date()));
				}
				
				System.out.println("--------FileReader--------\n\n\n\n");
				{
					System.out.println("start:"+dateFormt.format(new Date()));
					//FileReader 用于读取字符流。要读取原始字节流,请考虑使用 FileInputStream
					FileReader fileReader = new FileReader("D:\\cn_visual_studio_2010_ultimate_x86_dvd_532347.iso");
					StringBuffer sb = new StringBuffer();
					char[] ch = new char[1024*10];
					int result = -1;
					while((result = fileReader.read(ch))!=-1){
						sb.append(ch, 0, result);
						sb.reverse();
					}
					//System.out.println(new String(sb.toString().getBytes(),"UTF-8"));
					System.out.println("end:"+dateFormt.format(new Date()));
				}
				System.out.println("--------inputStreamReader--------\n\n\n");
				{
					System.out.println("start:"+dateFormt.format(new Date()));
					//InputStreamReader 类是字节到字符的转化桥梁
					InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream("D:\\cn_visual_studio_2010.iso"), "UTF-8");
					char[] ch= new char[1024*10]; 
					StringBuffer sb = new StringBuffer();
					int result = -1;
					while((result = inputStreamReader.read(ch))!=-1){
						sb.append(ch, 0, result);
						sb.reverse();
					}
					inputStreamReader.close();
					//System.out.println(new String(sb.toString().getBytes(),"UTF-8"));
					System.out.println("end:"+dateFormt.format(new Date()));
				}

				System.out.println("--------outputStream--------\n\n\n");
				
				{
					System.out.println("start:"+dateFormt.format(new Date()));
					OutputStream outputStream = new FileOutputStream("C:\\input__.xml");
					
					char[] ch = new char[1024*10];
					OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream);
					InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream("C:\\input.xml"), "UTF-8");
					int result = -1;
					while((result = inputStreamReader.read(ch))!=-1){
						outputStreamWriter.write(ch, 0, result);	
					}
					outputStreamWriter.close();
					inputStreamReader.close();
					outputStreamWriter.close();
					System.out.println("end:"+dateFormt.format(new Date()));
				}
				
			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	};
}

分享到:
评论

相关推荐

    Java字符流与字节流区别

    Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。 Java 内用 Unicode 编码存储字符,字符流...

    字节流字符流的使用方法源码+文档

    在Java编程语言中,`字节流`和`字符流`是进行输入/输出操作的基础,主要用于处理数据的传输。这两个概念是Java IO系统的核心,它们允许程序与外部设备(如硬盘、网络、内存等)交换信息。在这个压缩包中,你将找到...

    JAVA 字符流与字节流

    在Java编程语言中,输入/输出(I/O)操作是处理数据流的关键部分,而字符流与字节流则是实现这些操作的两种基本方式。理解它们的区别和应用场景对于任何Java开发者来说都是至关重要的。 ### 字节流 字节流是最基本...

    Java IO流常用字节字符流原理解析

    "Java IO流常用字节字符流原理解析" Java IO流中有两种基本的流类型:字节流和字符流。在Java IO流中,字节流是指以byte为单位进行操作的流,而字符流是指以char为单位进行操作的流。今天,我们将主要介绍Java IO流...

    字节流字符流

    在Java编程语言中,字节流(Byte Stream)和字符流(Character Stream)是处理输入输出数据的两种基本方式。它们构成了Java I/O系统的核心,用于读写文件、网络通信等场景。字节流和字符流的区别在于处理数据的基本...

    Java字符流和字节流

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

    java字节流和字符流

    Java中的字节流和字符流是IO操作中的两种基本类型,它们主要用于数据的输入和输出。字节流处理的数据单位是字节,而字符流处理的是Unicode字符。 字节流: 字节流主要由两个核心类构成:`InputStream`和`...

    Java IO 字节流 字符流

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

    字节流字符流练习

    Java提供了两种主要的IO流类型:字节流(Byte Stream)和字符流(Character Stream)。这两个概念是Java IO体系的基础,也是程序员在处理数据传输时经常遇到的工具。本练习文档将帮助你深入理解并熟练掌握这两种流的...

    IO流学习(字节流 字符流 文本流)!

    本篇文章将详细探讨IO流中的字节流、字符流以及文本流。 首先,我们来了解一下**字节流**。字节流是最基础的IO流类型,分为输入字节流(InputStream)和输出字节流(OutputStream)。它们处理的数据单位是字节,...

    Java IO字符流和字节流

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

    java字节流和字符流[整理].pdf

    字符流:字符流处理的是Unicode编码的字符,因此一个字符可能占用2个字节。Writer是字符输出流的顶级抽象类,它提供了向字符输出流写入字符的方法。例如,我们可以使用PrintWriter类来方便地输出文本内容: ```java...

    Java字节流与字符流的介绍.pdf

    Java 字节流与字符流的介绍 Java 中的流操作可以分为两种:字节流和字符流。字节流是指以 byte 为单位进行读写操作的流,而字符流是指以 char 为单位进行读写操作的流。 字节流的介绍 字节流的所有读操作都继承自...

    day09-字节缓冲流&字符流1

    字节缓冲流与字符流概述 字节缓冲流是 Java 中的一种流类型,它可以提高读写效率。字节缓冲流可以分为字节缓冲输出流和字节缓冲输入流两种。字节缓冲输出流可以将数据写入到文件中,而字节缓冲输入流可以从文件中...

    io流详解,字符流和字节流代码

    本文件包“io流详解,字符流和字节流代码”显然是针对Java IO流的深入学习资源,包含了代码示例和可能的可视化解释。 IO流分为两大类:字节流(Byte Stream)和字符流(Character Stream)。字节流处理的是8位的数据...

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

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

    Java 字节流、字符流题目.docx

    Java中的流被分为两类:字节流和字符流。字节流处理的是8位的数据,适用于所有类型的数据,包括图像、音频等非文本数据;字符流处理的是16位的Unicode字符,主要用于处理文本数据。 字节流分为输入流和输出流,Java...

    Java基础11-(字节流、字符流)

    Java的IO流是按照数据的流向分为输入流和输出流,按照数据类型分为字节流和字符流。字节流处理的是二进制数据,适用于任何类型的文件,包括文本文件和非文本文件(如图片、音频、视频等)。字符流则用于处理字符数据...

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

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

    JAVA_字节流和字符流

    在Java编程语言中,字节流(Byte Stream)和字符流(Character Stream)是处理输入输出数据的两种基本方式。字节流主要用于处理任何类型的二进制数据,如图片、音频、视频等,而字符流则专为处理基于Unicode编码的...

Global site tag (gtag.js) - Google Analytics