李成笔记网

专注域名、站长SEO知识分享与实战技巧

Java I/O操作全解析:轻松搞懂字节流与字符流的区别与用途

当涉及Java I/O(输入/输出)操作时,字节流和字符流是两个重要的概念。理解它们的区别和如何使用它们对于掌握Java编程至关重要。让我们分别来详细讨论字节流和字符流。

字节流(Byte Streams):

字符仅仅指汉字吗 字符是指字母还是单词

简介:计算机中的字符不仅仅指汉字,还包括字母、标点和数字。

特点:一个汉字占两个字节,字母、数字和标点占一个字节。

如图:是word文档字符统计窗口

由图可知:字数要小于字符数,因为文档中一定有数字、字母或者标点符号。

占用字节情况

java基础类型中的char和byte的辨析及Unicode编码和UTF-8的区别

在平常工作中使用到char和byte的场景不多,但是如果项目中使用到IO流操作时,则必定会涉及到这两个类型,下面让我们一起来回顾一下这两个类型吧。


char和byte的对比


计算机中位(bit),字节(byte),字(word)的关系

中位(bit), 字节(byte), 字(word)定义

1、位(bit)

来自英文bit,音译为“比特”,表示二进制位。位是计算机内部数据储存的最小单位,11010100是一个8位二进制数。一个二进制位只可以表示0和1两种状态(21);两个二进制位可以表示00、01、10、11四种(22)状态;三位二进制数可表示八种状态(23)……。

2、字节(byte)

Java面试中最容易忽略的细节,你中了几个?避坑指南送你

今日分享开始啦,请大家多多指教~

学习Java要明确自己的需求,知道自己要做什么;分析思路,知道自己要怎么做。确定步骤,每一个思路部分用到哪些方法和对象。最后用代码实现,用具体的java语言把思路体现出来。

Java字节流与字符流解析:概念辨析、核心差异与实际应用示例

字节流与字符流是Java中处理输入/输出操作的两种主要方式,各自有特定的使用场景和优势。

基本概念

字节流

非常有用的字符函数LEN、LENB,财务工作者的必备利器

LEN函数与LENB函数是比较常用的函数,在实际中应用那是相当广的,尤其在财务工作中的使用频率是相当的高。我就一起看看实际工作中哪些地方用到了它。

我们先简单说下它的用法,很简单,LEN(text)、LENB(text),两个用法是一样的,但是LEN的结果是字符数,而LENB是字节。比如LEN(3)=1,就是一个字符,LENB(3)=1,但是对于汉字来说那就不一样了,比如LEN("我")=1,LENB("我")=2,因为一个汉字是两个字节,但是是一个字符。

「javaSE基础」2018面试-IO试题集-字节流和字符流区别,序列化

^_^点赞关注头条号,查看更多文章。

1、字节流和字符流的区别?

字节流读取数据时,读到一个字节就返回一个字节;字符流使用了字节流读到一个或多个字节(中文对应的字节数是2个,在UTF-8码表中是3个字节)时。先去查指定的编码表,将查到的字符返回。字节流可以处理所有类型的数据,如图片、MP3、视频等文件,而字符流只能处理字符数据。只要是纯文本数据,就要优先考虑字符流,除此之外都用字节流。字节流主要处理byte数据类型,以byte数组为准,主要的操作类有OutputStream和InputStream。

Java IO字符流和字节流的区别及BufferedWriter、BufferedReader

一、字符流和字节流的区别

拿一下上一篇文章的例子:

 1 package com.demo.io;
 2 
 3 import java.io.File;
 4 import java.io.FileReader;
 5 import java.io.FileWriter;
 6 import java.io.Reader;
 7 import java.io.Writer;
 8 
 9 public class FileReaderWriterTest {
10 
11 public static void main(String[] args) throws Exception{
12 File file = new File("D:/Files/writer.txt");
13 Writer out = new FileWriter(file);
14 // 声明一个String类型对象
15 String str = "Hello World!!!";
16 out.write(str);
17 out.close();
18 
19 //读文件操作
20 Reader in = new FileReader(file);
21 // 开辟一个空间用于接收文件读进来的数据
22 char c0[] = new char[1024];
23 int i = 0;
24 // 将c0的引用传递到read()方法之中,同时此方法返回读入数据的个数
25 i = in.read(c0);
26 in.close();
27 if(i==-1){
28 System.out.println("文件中无数据");
29 }else{
30 System.out.println(new String(c0,0,i));
31 }
32 }
33 }

一个汉字占多少个字节,我错了20年

当我上第一节计算机课的时候,我的电脑老师跟我说,一个英文字符是1个字节,一个中文是2个字节。这么多年来,我对此一直坚信不移,相信很多人也是这么觉得的,但是,真实情况下是这么一回事么?



要了解这个问题,我们首先得从字节说起,什么是字节呢?要知道,在计算中,底层都是晶体管的开关和关闭状态,我们把一个表示开关状态的称之为位,把八位称之为一个字节,也就是一个字节可以表示(00000000-11111111),也就是0到255。为什么是8位呢?因为字符实际上还不到128个,按道理7位就够了,一个说法是程序员也比较迷信,认为7是个不吉利的数字,另一种说法,8刚好是2^3的方,更容易计算机去理解。

<< < 1 2 3 4 5 6 > >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言