了解一下前置知识字符集,我们常见的字符集有ASCII,GBK,UTF-8

GBK中一个字需要两个字节存储

UTF-8中一个字母需要一个字节,并以0开头,一个汉字需要三个字节,与GBK不同的是,他支持的是世界文字,是一种相当通用的字符集

IDEA中的字符集在右下角可以看到,默认是utf-8,

在java中进行编码和解码非常简单

举一个小例子即可

 String a="123";
byte[] bytes = a.getBytes();
String b= new String(bytes);

简单来说IO流就是输入Input输出Output流

应用场景:读取文件内容,通过IO进行长久的存储数据,网络对话。

我个人最主要的体验是在写网页的时候进行Excel的导入导出,可以使用IO流完成

java.io包主要包括IO流体系,分为字节流和字符流

字节输入流InputStream,字节输出流OutputStream,字符流Reader,字符输出流Writer。他们都是抽象类

下面是创建输出流管道,并读取文件的字节数据样例

FileInputStream fileInputStream = new FileInputStream("designModel/src/main/resources/123.txt");
System.out.println(fileInputStream.read());//当读取完毕后再次读取会获得-1值,因此如果需要此方法可以使用while(x.read!=-1)作为循环

fileInputStream.close()

上述问题中由于多次与硬件进行交互,后修改读取多个字节到字节数组中,返回读取的字节数量

byte []bytes=new byte[4];
fileInputStream.read(bytes);

当然,上述两个输入流都存在汉字乱码的问题,为此我们需要一次性读取全部字节流,方法1是通过file获取文件的length后填入read

方法2这个java8用不了

 byte []bytes=fileInputStream.readAllBytes();

下面是创建输入流管道,并以追加的方式(默认是不追加直接覆盖)

        OutputStream os=new FileOutputStream("designModel\\src\\main\\resources\\234.txt",true);
byte []bytes="我爱你aq".getBytes();
os.write(bytes);
os.close();

简单了解java中的io流中的字节流的更多相关文章

  1. 第54节:Java当中的IO流(中)

    Java当中的IO流(中) 删除目录 // 简书作者:达叔小生 import java.io.File; public class Demo{ public static void main(Stri ...

  2. Java当中的IO流(中)

    Java当中的IO流(中) 删除目录 import java.io.File; public class Demo{ public static void main(String[] args){ / ...

  3. java 21 - 1 IO流中的字符流概述

    字节流通过读取一个byte数组的方式可以读取中文的,但是有可能出现小问题,所以,读取中文最好是用字符流. 字符流: 字符流=字节流+编码表. 编码表: 由字符及其对应的数值组成的一张表 编码表介绍: ...

  4. java中的IO流

    Java中的IO流 在之前的时候我已经接触过C#中的IO流,也就是说集中数据固化的方式之一,那么我们今天来说一下java中的IO流. 首先,我们学习IO流就是要对文件或目录进行一系列的操作,那么怎样操 ...

  5. Java中的IO流总结

    Java中的IO流总结 1. 流的继承关系,以及字节流和字符流. 2. 节点流FileOutputStream和FileInputStream和处理流BufferedInputStream和Buffe ...

  6. JAVA 中的IO流

    Java中的IO流是用来处理设备与设备之前的数据传输,在java中以流的形式传输.流分为两类:字节流和字符流. 字节流:InputStream,OutPutSteam.(计算机内的数据都是以字节存储的 ...

  7. Java中的IO流(二)

    上一篇<Java中的IO流(一)>把学习IO流的字符流作了一下记录,本篇把字节流记录一下. 一,Java中的字节流 Java中的字节流的操作方式与字符流的操作方式大致相同,连方法名都是类似 ...

  8. Java中的IO流体系

    Java为我们提供了多种多样的IO流,我们可以根据不同的功能及性能要求挑选合适的IO流,如图10-7所示,为Java中IO流类的体系. 注:这里只列出常用的类,详情可以参考JDK API文档.粗体标注 ...

  9. Java中的IO流 - 入门篇

    前言 大家好啊,我是汤圆,今天给大家带来的是<Java中的IO流-入门篇>,希望对大家有帮助,谢谢 由于Java的IO类有很多,这就导致我刚开始学的时候,感觉很乱,每次用到都是上网搜,结果 ...

  10. 揭开Java IO流中的flush()的神秘面纱

    大家在使用Java IO流中OutputStream.PrintWriter --时,会经常用到它的flush()方法. 与在网络硬件中缓存一样,流还可以在软件中得到缓存,即直接在Java代码中缓存. ...

随机推荐

  1. QShop商城-开发规范

    QShop商城-项目介绍 QShop商城,是全新推出的一款轻量级.高性能.前后端分离的电商系统,支持微信小程序,前后端源码100%开源,完美支持二次开发,让您快速搭建个性化独立商城. 技术架构:.Ne ...

  2. react 样式继承 属性传递

    # 样式 import styled from 'styled-components' const Button = styled.button` font-size: 20px; border: 1 ...

  3. .NET6 .NET CORE 使用Apollo

    Apollo默认有一个"SampleApp"应用,"DEV"环境 和 "timeout" KEY. nuget 中下载 "Com. ...

  4. categraf托管与自升级

    categraf支持多种方式进行部署.托管,社区里部署和管理categraf也是五花八门,大家自己使用方便即可. 之前我们觉得大家通过ansible之类的工具批量下发/更新就能很简单地完成任务,最近很 ...

  5. 爬取m3u8加密视频

    import random import os import re import requests import asyncio import aiohttp import time from lxm ...

  6. idea中vue的启动方式

    1.选取 2.添加 3.配置 4.启动 启动前先 在终端  执行   npm  install  命令  再启动

  7. aspose word模板文件生成pdf

    # aspose word模板文件生成pdf package com.example.core.mydemo; import com.alibaba.fastjson.JSON; import com ...

  8. UITableView的使用样例(简易向)

    功能实现 构建一个UITableView,并使其默认显示a,b,c--.. 构建一个按钮,点击后列表变为英文字母 构建一个按钮,点击后列表变为数字 基本概念 实现前头文件需要签订协议(如何签订向后看) ...

  9. P2467 [SDOI2010] 地精部落 学习笔记

    DP 显然我固定第一个是峰,然后再乘以2就是答案,因为一个合法的反转之后也是合法的而且谷峰颠倒了 发现如果设\(dp[i][j]\)表示前\(i\)个山脉,第\(i\)个山脉是高度\(j\)的答案,然 ...

  10. bash shell基础命令

    bash shell基础命令 很多Linux发行版的默认shell是GNU bash shell. 1. 启动shell GNU bash shell是一个程序,提供了对Linux系统的交互式访问.它 ...