字节流

Java中的字节流 字节流2.1 IO流概述和分类按数据流向:输入流,输出流按数据类型:字节输入流/输出流,字符输入流/输出流 2.1 IO流概述和分类 ##IO流概述: IO:输入/输出(input/ouput) 流:是一种抽象概念,是对数据传输的总称。也就是说数据在设备间的传输称为流,流的本质是数据传输 IO流就是用来处理设备间数据传输问题的 常见的应用:文件复制,文件上传,文件下载 按数据流向:输入流,输出流 输入流为读数据,输出流为写数据 按数据类型:字节输入流/输出流,字符输入流/输出流 一般来说是按数据类型来分的。 阅读详情

1.1.1.字节流-操作文件基本演示  

字节流可以处理的文件类型比字符流要多得多。字节流的顶层基类有InputStream、OutStream,所以以InputStream、OutStream为后缀的都是字节流。字节流与字符流是类似的,所以可以仿照字符流的流程写一下字节流的使用。

查看API,字节流中处理的是字节,这是它跟字符流最大的不同,字符流处理的是字符。

package com.java.base;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class ByteStreamDemo {
	public static void main(String[] args) throws IOException {
		demo_3();
		}
	private static void demo_1() throws FileNotFoundException, IOException {
		FileOutputStream fos = new FileOutputStream("io.txt");
		fos.write("abcde".getBytes());//这是跟字符输出流不一样,没有写输出,也没有flush,但是也能数据输出到文件,这是因为,字符流操作的是字符,字符在写出时需要转码,而字节流直接操作字符,所以不需要刷新
		fos.close();
		}
	private static void demo_2() throws IOException {
    FileInputStream fis = new FileInputStream("io.txt");
    int ch = 0;
    while ((ch = fis.read()) != -1) {
        System.out.println((char) ch);
    }
    fis.close();
    }
	private static void demo_3() throws IOException {
	       FileInputStream fis = new FileInputStream("io.txt");
	       //建议使用这种读取数据的方式
	       byte[] buf = new byte[1024];      
	       int len = 0;
	       while((len=fis.read(buf))!=-1){
	           System.out.println(new String(buf,0,len));
	       }
	       fis.close();
	    }
	}

1.1.2.字节流-练习-复制MP3 

使用字节流可以处理更多类型的文件。现在使用字节流来复制MP3文件。

package com.java.base;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class CopyMp3Test {
    public static void main(String[] args) throws IOException {
       copy_2();
    }
    public static void copy_1() throws IOException {
    	FileInputStream fis = new FileInputStream("D:\\视频\\笑傲江湖\\笑傲江湖01国语字幕DVD.mp3");
        FileOutputStream fos = new FileOutputStream("F:\\大数据组件学习\\21.Java\\8.IO流\\bb.mp3");
        byte[] buf = new byte[1024];
        int len = 0;
        while ((len = fis.read(buf)) != -1) {
           fos.write(buf, 0, len);
       }
       fos.close();
       fis.close();
    }
    public static void copy_2() throws IOException {
       FileInputStream fis = new FileInputStream("D:\\视频\\笑傲江湖\\笑傲江湖01国语字幕DVD.mp3");
       BufferedInputStream bufis = new BufferedInputStream(fis);
       FileOutputStream fos = new FileOutputStream("F:\\大数据组件学习\\21.Java\\8.IO流\\bb.mp3");
       BufferedOutputStream bufos = new BufferedOutputStream(fos);
       int ch = 0;
       while ((ch = bufis.read()) != -1) {
           bufos.write(ch);
       }
       bufos.close();
       bufis.close();
    }
}

 

 

javaIO流之字节流 在java中io流分为字节流和字符流。字节流和字符流分别对应相应的读取和写入操作。整体的功能就是实现对输入输出的操作。I/O就是input和output的缩写。而java之所以将此称之为流就是将其抽象化,来表示输入输出的功能。封装为对应的类,实现具体的功能,然后全部都存在io包当中。用流来表示输入输出是也是非常形象的。可以想象数据传输信道中数据像流水一样进行传输。字节流就是传输单位按为字节进行传输,字符流就是传输按照字符为单位进行传输字节流与字符流的区别是什么呢? 从传输上面讲,字节流是字节在文件测层次上进 阅读详情

相关推荐

【信号与系统实战解析】—— 拉普拉斯变换在电路分析中的关键应用

本文深入解析了拉普拉斯变换在电路分析中的关键应用。通过将时域微分方程转换为复频域的代数方程,系统化处理初始条件,并利用零极点图分析电路稳定性与频率响应。文章以RLC串联电路为例,详细演示了s域建模、性质运用及综合分析方法,为工程师提供了分析动态电路的强大工具与清晰视角。

weixin_29093017的博客 174

IO-01-字节流与字符流

一.IO流简介:1.基本概念:IO:用于处理设备之间的数据传输的技术。 流:可以理解数据的流动,就是一个数据流,是一种系统资源,它的功能由操作系统来实现,Java的IO调用了操作系统底层,实现输入输出功能。2.IO流分类:根据功能:输入流(读)和输出流(写)。 根据处理数据:分为字节流和字符流。 3.字节流:处理字节数据的流对象。设备上的数据无论是图片或者dvd,文字,它们都是以二进制形式进行存

CycloneKid的博客 530

利用Matlab高效处理Comsol仿真数据的可视化技巧

本文详细介绍了如何将Comsol仿真数据高效导入Matlab并进行专业可视化与后处理。核心内容包括正确的数据导出格式设置、三维矩阵重构方法、二维截面与三维体渲染技巧,以及基于Matlab的定量分析与批处理自动化流程,帮助工程师和科研人员深度挖掘仿真数据价值,提升工作效率。

weixin_29065791的博客 362

java输入输出流、字符字节流

所有的程序都离不开信息的输入和输出。例如,从键盘读取数据、在网络上交换数据、打印报表、读写文件信息等,都要涉及数据输入输出的处理。在面向对象语言中,输入和输出都是通过数据流来实现的。在Java中,处理数据流的类主要被放在java.io包中 。 数据流的基本概念: 数据源(Data Sourcc):是指那些能够提供数据的地方,包括键盘、磁盘文件、网络接口等。 数据宿(Data Sink

fengdongkun的专栏 1万+

面向网络攻击行为可视化分析系统实现【WebSocket + 可视化】

本系统主要应用于网站运维管理,它解决了网站运维人员排查网络攻击行为复杂且繁琐等问题,提高了运维人员网络安全分析的效率和准确性。

oNew_Lifeo的博客 1620

基于UC3842的反激电源的全面深入解析与MATLAB仿真

内置电流检测,可实现电流模式控制,提高系统的动态响应性。多种保护功能,如欠压锁定、过温保护、短路保护等,确保系统的安全可靠运行。宽工作电压范围,适应不同的电源设计需求。简单的外部元件配置,易于实现。UC3842的典型应用包括开关电源、DC-DC转换器和反激式电源等,其稳定性和可靠性在实际应用中得到了广泛验证。

qq_38334677的博客 1086

java IO之OutputStream和InputStream

01输入和输出 * A:输入和输出 * a: 参照物 * 到底是输入还是输出,都是以Java程序为参照 * b: Output * 把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作 * 程序到文件称为输出 * c: Input * 把持久设备上的数据读取到内存中的这个动作称为输入(读

Walden_tinghou的专栏 1762

矢量网络分析仪校准:原理、方法与系统适配性

矢量网络分析仪(VNA)校准是射频测量的关键环节,通过误差建模(12项误差项)和标准件测量,可将系统不确定度从±5dB降至±0.1dB以下。主流校准方法包括SOLT(适用于同轴系统)和TRL(适用于波导系统),二者在标准件、误差重点及频率上限等方面存在显著差异。随着6G与量子通信的发展,动态实时校准将成为新趋势。工程师需根据传输结构、频率范围及精度需求选择合适方法,确保测量精度。

u014344410的博客 262

IO流详解(字符流与字节流)

一、字符流与字节流 1.标准的输入输出流概述 标准输入流in: public static final InputStream in   in为System类中的一个静态成员变量,为字节输入流,用来读取键盘录入的数据; 使用: InputStream is = System.in; //创建InputStream类型的对象 Scanner sc = new Scanner(System.i...

weixin_43502661的博客 832

基于ESP32的智能停车场管理系统开发

智能停车场管理系统通过引入物联网(IoT)技术,实现对停车场内车辆的实时监控、空闲车位的管理、车辆的入场与出场控制等功能,大大提高了停车场的利用率和管理效率。通过集成物联网技术、云平台以及先进的传感器和执行器,系统不仅能实时监控停车场的车位状态,还能提供更好的用户体验。本文将介绍如何基于ESP32开发一个智能停车场管理系统,涵盖系统架构、硬件选择、软件开发以及最新技术的应用,帮助开发者实现高效的智能停车管理。ESP32的代码主要负责处理车位传感器的数据,控制LED指示灯的状态,以及与云平台进行数据交互。

2201_76125393的博客 912

57、各向异性材料力学问题的分析与求解

本文系统分析了各向异性材料在扭转和平面变形问题中的力学行为,介绍了基于应力和位移的求解方法,包括应力函数推导、位移场假设、艾里应力函数法等。通过具体示例,如椭圆截面杆的扭转和各向异性板的均匀拉伸,展示了求解过程,并讨论了各向异性材料在工程应用中的意义及未来研究方向。

7h6j5k4l3的博客 204

字节流和字符流详解

1.流的概念 在编程中是一种抽象的概念,就好比“水流”,从一段流向另一端 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。 程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。 2.流的分类 按照流向可以分为:输入流(如:键盘,麦克风),输出流(如:显示器,音箱) 按照传输单位可以分为:字节流和字符流 3.什么是字节流,什么是字符流 字节流: 它处理单元为1个字节(byte),操作字节和

wkh18891843165的博客 3万+

SAR合成孔径雷达成像及处理(附带Matlab源代码)

总结:本文介绍了SAR合成孔径雷达的基本原理,并提供了使用Matlab实现SAR成像和处理的源代码示例。然后,在慢时间域进行方位压缩处理,通过计算每个接收通道的延迟和频移,将多次接收的信号叠加得到最终的成像结果。SAR成像的基本原理是通过接收雷达发射的脉冲信号的回波,并利用多次接收的信号进行叠加处理。以多普勒频移校正为例,根据雷达飞行速度和方位角,计算实际的多普勒频率,并对每个接收通道的数据进行频移校正,以消除因目标运动引起的频率偏移。通过调整参数和算法,可以实现不同的SAR成像和处理效果。

ByteJolt的博客 689

字节流是什么

字节流(Byte Stream)是一种数据传输方式,它是字节的有序序列。在计算机中,所有数据都以字节的形式表示,因此字节流是最基本的数据传输单元。字节流可以用来传输各种类型的数据,例如文本文件、图像、音频、视频等。它们通常被处理为一系列连续的字节,不考虑其具体的数据类型或语义。因此,字节流可以是纯文本数据、二进制数据,甚至是复杂的文件格式(如PDF、JPEG等)。在计算机编程中,字节流经常用于文件输入/输出(I/O)操作,网络通信,以及各种数据处理任务中。

u010674101的专栏 2643

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

1、字节流详解

Java IO 字节流详解

shiyu_951的博客 6936

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

6.2字节流

在 Java 中,IO(Input/Output)流是用于处理数据输入输出的核心机制,它提供了一种统一的方式来读写不同类型的数据。字节流以字节(8 位)为单位处理数据,适用于所有类型的数据(如图片、视频、二进制文件等)。System.outint read()b.lengthblenboffbbofflen标准输出(System.out是类型)print()intStringObjectprintln()printf()format()printf()booleanflush()close()

chxii的专栏 2271

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

什么是字节流?Java 中有哪些字节流

字节流是输入和输出数据的一种方式,它以字节为单位进行操作。在 Java 中,字节流主要用于处理二进制数据,如图像、音频和视频等。字节流可以读取和写入字节,而字符流则可以读取和写入字符。Java 中的字节流通常用于处理二进制数据,如图像、音频和视频等。由于这些数据通常是以字节的形式存储的,因此使用字节流可以更有效地处理它们。在本文中,我们介绍了什么是字节流以及 Java 中的字节流。Java 中常用的字节流包括和和和等。这些字节流类提供了不同的功能和特点,可以根据需要选择合适的字节流类进行操作。

stormjun的博客 996

字节流和字符流

在Java.io包中操作文件内容主要有两大类:字节流和字符流,两类都分为输入输出操作。所有文件的存储都是按字节(byte)来存储的,在磁盘上保留的并不是文件的字符而是把字符编码成字节,再存储这些字节到磁盘。在读取文件(特别是文本文件)时,也是一个字节一个字节的读取以形成字节序列。

qq_59808309的博客 2392

Java-字节流

1、IO流概述和分类 IO流概述: IO:输入/输出(Input/Output) 流:是一种抽象概念,对数据传输的总称。也就是说数据在设备间的传输称为流,流的本质是数据传输 IO流就是用来处理设备间数据传输问题的 常见的应用:文件复制;文件上传;文件下载 IO流分类: 按照数据的流向 输入流:读数据 输出流:写数据 按照数据类型来分 字节流:字节输入流;字节输出流 字符流:字符输入流;字符输出流 一般来说,IO流的分类是按照数据类型来分的 字节流和字符流使用: 如果

m0_46761016的博客 3211

Java 字节流详

本文全面介绍了Java字节流的使用方法,包括基础概念、核心操作和常见实现类。字节流以字节为单位处理数据,核心父类是InputStream和OutputStream,分别提供读取和写出方法。文件字节流(FileInputStream/FileOutputStream)可直接操作文件,缓冲字节流(BufferedInputStream/BufferedOutputStream)通过缓冲区提高IO效率,数据字节流(DataInputStream/DataOutputStream)则支持基本数据类型的读写。文章详细

2201_75941872的博客 784

python字节流和字符流_字符流与字节流

[一]写在前面简单总结一下分别用(一直混淆的)字节流or字符流读写文件。[二]字节流2.1 字节流介绍程序中的输入输出都是以流的形式保存的(输入流or输出流),流中保存的实际上全都是字节(一个字节等于一个Byte占8个bit)文件。Java提供了OutputStream、InputStream两个专门操作字节流的类。知识补充1:计算机能存储的唯一东西就是 bytes,为了在计算机中存储东西,我们首...

weixin_39548787的博客 2582

Java 中字节流的使用详解

本文介绍了Java字节流的基本概念和使用方法,重点讲解了FileInputStream、FileOutputStream、BufferedInputStream/BufferedOutputStream以及ByteArrayInputStream/ByteArrayOutputStream等核心类的使用场景和示例代码。通过对比字节流与字符流的区别,指出字节流适合处理二进制数据而字符流更适合文本文件。文章还提供了性能优化建议,如使用缓冲区提升大文件操作效率。最后总结了掌握字节流对理解Java文件处理机制的重要

2503_92145588的博客 1031

什么是字节流,缓冲字节流及其案例

Java的IO流提供了一个带有缓冲区的字节输入流(BufferedInputStream)、带有缓冲区的字节输出流(BufferedOutputStream)(4)使用字节输入输出流可以操作字符文件,但比较麻烦,需要进行转码.如果操作字符文件建议使用字符流。(3)所有流操作都是在字节流的基础上进行的,通过字节流读取到原始数据,然后交给其他流进行处理。(3)由于带有缓冲区的流是对原始流的包装流,所以要使用带有缓冲区的流必须在原始流的基础上使用。(1)带有缓冲区的字节流属于包装流,对原始流的包装流。

weixin_52682014的博客 1954
上一篇: 字符流-缓冲区
下一篇: IO流基础
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值