首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java 基础常见知识点&面试题总结(下),2022 最新版!

语句来实现这个需求,如下: //读取文本文件的内容 Scanner scanner = null; try { scanner = new Scanner(new File("D://read.txt...为什么你使用 Spring 的时候 ,一个@Component注解就声明了一个类为 Spring Bean 呢?为什么你通过一个 @Value注解就读取到配置文件中的值呢?究竟是怎么起作用的呢?...综上:序列化的主要目的是通过网络传输对象或者说是将对象存储到文件系统、数据库、内存中。...问题本质想问:不管是文件读写还是网络发送接收,信息的最小存储单元都是字节,那为什么 I/O 流操作要分为字节流操作和字符流操作呢?...所以, I/O 流就干脆提供了一个直接操作字符的接口,方便我们平时对字符进行流操作。如果音频文件、图片等媒体文件用字节流比较好,如果涉及到字符的话使用字符流比较好。

47940

Python升级之路( Lv9 ) 文件操作

,因此python解释器执行完数据就消失了 实际开发中,我们经常需要从外部存储介质(硬盘、光盘、U盘等)读取数据,或者将程序产生的数据存储到文件中,实现“持久化”保存 1....表示,包括之前只占8位的英文字符等,所以会造成空间的浪费 Unicode 完全重新设计,不兼容 iso8859-1 ,也不兼容任何其他编码 UTF-8 对于英文字母, unicode 也需要两个字节来表示...UTF 编码是不定长编码,每一个字符的长度从1-4个字节不等....文件的读取 文件读取的步骤: 打开文本文件对象 写入数据 文件的读取一般使用如下三个方法: read([size]): 从文件中读取 size 个字符,并作为结果返回 如果没有 size 参数,则读取整个文件...读取到文件末尾,会返回空字符串 readline(): 读取一行内容作为结果返回 读取到文件末尾,会返回空字符串 readlines() : 文本文件中,每一行作为一个字符串存入列表中,返回该列表

1.1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【python游戏编程之旅】第二篇--pygame中的IO、数据

    file.write()函数写入,另外还有writeline()函数,顾名思义,它是将单独的一行写入到文件中,(还有一种写多行的形式是file.writelines(),用来写入一个字符串列表)。...file = open("data2.txt", "w") file.write("abcdefg\n") file.close() 如果要一次性将一个字符串列表中的数行写入到文本中可以这样做: text_lines...char = file.read(10) print (char) #这段代码会从文件中的当前指针位置读取10个字符 #像这样重复的调用,将继续从该文件读取更多的字符 #并且向前推进指针的位置 如果要把整个文件读取到一个字符串变量中...(data) file.close() #这段代码是将100个整数写入到文件中 2.读取二进制文件 file = open("bin.dat", "rb") size = struct.calcsize...学了io和数据以后,我们完全可以制作一个类似于回答问题闯关类的游戏,将问题和答案都存在文件中,然后在程序里面加载它。答对就进行到下一题。

    71740

    Python中的编码问题

    英语中英文字母用128个符号编码就够了,但是用来表示其他语言,128个符号显然是不够的。比如,在法语中,字母上方有注音符号,它就无法用ASCII码表示。...Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。...严格来讲,str并不一定是文本,它也有可能是二进制的内容,它提供的其实是字节的组合(unicode类型提供的是unicode字符集的组合),只是如果str中刚好是某种形式编码的文本,它便可以当做文本处理...注意这句编码声明一定要放在第一行或者第二行才生效,我之前就将它放在了其他位置,结果将源代码文件从windows移动到Linux后,出现了编码问题,文件中的中文注释全成了乱码。...python会根据代码第一行声明的utf-8编码识别代码中的汉字,然后转换成unicode对象以unicode格式存在于内存中,而如果不加u,表明这仅仅是一个使用某种编码的字符串,编码格式取决于python

    2K20

    那些坑人的乱码问题(上)

    读到这里基本的概念介绍完毕了,但是会产生一个疑问:字符编码存在的意义是什么呢?字库表每个字符都有一个编号,字符集每个字符都有一个编码,他们又是一一对应的,为什么不直接使用序号作为字符编码呢?...到这里,UTF-8的出现可以很好的回答为什么需要字符编码了,为了在存储的时候省内存。...而如果把每个字符都用字库表中的序号来存储的话,每个字符就需要3个字节(仅指汉字),这样对于原本用仅占一个字符的ASCII编码的英语地区国家显然是一个额外成本(存储体积是原来的4倍)。...微软在自己的UTF-8格式的文本文件之前加上了EF BB BF三个字节,Notepad+等程序就是根据这三个字节来确定一个文本文件是ASCII的还是UTF-8的, 然而这个标记只是微软添加的, 其它平台上并没有对...半角字符的大小看起来是全角字符的一半,但这不是本质区别了,其本质区别是全角是指中GB2312-80(《信息交换用汉字编码字符集·基本集》)中的各种符号,而半角是指英文件ASCII码中的各种符号。

    1.2K10

    Go语言——Json处理

    tag中如果带有"omitempty"选项,那么如果该字段值为空,就不会输出到JSON串中 如果字段类型是bool, string, int, int64等,而tag中带有",string...解码JSON(解组|解封送:Unmarshaling) Json Unmarshal:将json字符串解码到相应的数据结构。...要将JSON解组到结构中,Unmarshal (解组) 匹配传入对象 Marshaling(编组) 处理使用的键的键(结构字段名或其标记),更喜欢精确匹配,但也接受不区分大小写的匹配。...否则,就Unmarshal (解组) 重用现有map,保留现有条目(即保存你现在已经赋过的值)。 然后Unmarshal (解组) 存储从JSON对象到map的键值对。...因为null在JSON中经常用来表示`not present ',将JSON null解组到任何其他Go类型中都无效在该值上,不会产生任何错误。

    2K40

    Go语言中的JSON处理 【Go语言圣经笔记】

    本节,我们将对重要的encoding/json包的用法做个概述。 JSON是对JavaScript中各种类型的值(字符串、数字、布尔值和对象)的unicode文本编码。...转义数字来表示一个UTF-16编码(译注:UTF-16和UTF-8一样是一种变长的编码,有些Unicode码点较大的字符需要用4个字节表示;而且UTF-16还有大端和小端的问题),而不是Go语言的rune...一个JSON数组是一个有序的值序列,写在一个方括号中并以逗号分隔 一个JSON数组可以用于编码Go语言的数组和slice 一个JSON对象是一个字符串到值的映射,写成一系列的name:value对形式,...为了生成便于阅读的格式,另一个json.MarshalIndent函数将产生整齐缩进的输出。...在早些的例子中,我们使用了json.Unmarshal函数来将JSON格式的字符串解码为字节slice。

    63030

    熬夜整理的万字CC++总结(五),值得收藏

    例如,在 Windows 系统中,在输出时,文本的换行符被写成一对回车/换行符。在输入时,文本中的回车符被丢弃。这种不必考虑文本的外部形势而操纵文本的能力简化了可移植程序的创建。...1.1.2.1 二进制流 二进制流中的字节将完全根据程序编写它们的形式写入到文件中,而且完全根据它们从文件或设备读取的形式读入到程序中。它们并未做任何改变。...这种类型的流适用于非文本数据,但是如果你不希望I/O函数修改文本文件的行末字符,也可以把它们用于文本文件。 c语言在处理这两种文件的时候并不区分,都看成是字符流,按字节进行处理。...如果从磁盘向计算机读入数据,则一次从磁盘文件将一批数据输入到内存缓冲区(充满缓冲 区),然后再从缓冲区逐个地将数据送到程序数据区(给程序变量) 。...1.2.4.2 行读写函数 int fputs(const char * str, FILE * stream); 功能:将 str 所指定的字符串写入到 stream 指定的文件中, 字符串结束符 '

    95820

    golang语言常见范式

    随着互联网的发展,混合多种语言的数据变得很常见(译注:比如本身的英文原文或中文翻译都包含了ASCII、中文、日文等多种语言字符)。如何有效处理这些包含了各种语言的丰富多样的文本数据呢?...这种方式比较简单统一,但是它会浪费很多存储空间,因为大数据计算机可读的文本是ASCII字符,本来每个ASCII字符只需要8bit或1字节就能表示。...UTF8编码使用1到4个字节来表示每个Unicode码点,ASCII部分字符只使用1个字节,常用字符部分使用2或3个字节表示。每个符号编码后第一个字节的高端bit位用于表示总共有多少编码个字节。...没有任何字符的编码是其它字符编码的子串,或是其它编码序列的字串,因此搜索一个字符时只要搜索它的字节编码序列即可,不用担心前后的上下文会对搜索结果产生干扰。...而UTF8则将Unicode码点编码为字节序列,按照UTF8编码的规则,它编码出的长度是不固定的,从1个Byte至4个Byte。

    2K40

    【C语言】看了这篇文章,如果你还不会文件操作的话,我把这篇文章给吃了(doge)

    ; }; typedef struct _iobuf FILE;//重命名产生 当然,这个 FILE 在不同编译器上的设计可能是不同的,不是绝对的。 ...fgets()从流中获读取"字符串" fgets() → 从流中获读取"字符串"。...从流中读取数据,并根据参数格式将其存储到附加参数所指向的位置。附加的参数应该指向已经分配的对象,其类型由格式字符串中相应的格式说明符指定。...对于二进制流,这是从文件开始的字节数。 对于文本流,数值可能没有意义,但仍然可以使用fseek将位置恢复到相同的位置(如果使用ungetc返回的字符在被读取时仍然挂起,该行为是未定义的)。...特别的是,文本文件是指以ASCII码方式(也称文本方式)存储的文件,更确切地说,英文、数字等字符存储的是ASCII码,而汉字存储的是机内码。

    83720

    JavaSE 基础学习之五 —— IO 操作 (java. io.*)

    ,如 Windows 系统的中文系统默认编码) UTF-8: 中文字符 3 字节,英文字符 1 字节; Unicode: 中文、英文字符都是 2 字节; 2. java.io.File 的基本操作 java.io.File...file.delete(); } } } 由上例可以观察到,文件操作中递归操作很重要。...字节流 文件在 Java 中通过流进行操作,基本可以分为读与写两种操作。在 Java 中,可以把文件流分为字节流和字符流两种。...这里使用到的设计模式是适配器模式; (3) BufferedReader, BufferedWriter BufferedReader 提供了通用的缓冲方式文本读取,readLine 读取一个文本行,从字符输入流中读取文本...序列化 / 反序列化 Java 的序列化是指把 Java 对象转换为二进制字节序列的过程;而 Java 反序列化是指把字节序列恢复为 Java 对象的过程。 为什么需要序列化与反序列化?

    67820

    FFmpeg 工程之路-基础开发概述

    gg 跳到文件尾 G 移动到行首 ^ 移动到行尾 $ 按单词移动:向前 w/ 2w/ ,向后 b/ 2b 命令模式下编辑的内容 存储在缓冲区中,并没有写入到文件当中 2、C语言基础回顾 2.1 C语言基础回顾...* file; //2.声明空buff,用来读取文件中的内容 char buf[1024] = {0, }; //3.内容写入文件的方式为末尾追加,则游标是处于文件末尾位置的...["写入的文本内容",一个字符占用n个字节,被写入文本的字符数,文本写入的file目的地] fwrite("hello,bofeng!"...,1,13,file); //5.将文件末尾游标复位到文件最开头的位置,否则 将文件中内容读取到空buf时,buf中数据为空 rewind(file); //6.将file中内容读取到...buf 中,1表示一个字符占1个字节,13表示读取从游标开始的n个字符,因程序已经运行过若干遍,所以可以读取 n*13个字符 fread(buf,1,26,file); //7.关闭文件,释放资源很重要

    49120

    C语言进阶(十四) - 文件管理

    通过C语言的文件相关的知识,我们将会有办法把程序运行产生的数据写入我们指定的磁盘文件中。...文件 fwrite 二进制输出函数 文件 fgetc()函数 int fgetc(FILE* stream); 头文件为 功能:从文本文件中读取一个文件指针stream指向的文件缓冲区内部的文件位置指示器当前指向的字符...从文件中读取格式化数据,即根据形参格式将数据储存到附加实参所指向的位置。...**如果从磁盘向计算机读入数据,则从磁盘文件读取数据输入到内存缓冲区,充满缓冲区或强制刷新如(fflush()函数)缓冲区时,会从缓冲区逐个将数据送到程序数据区(如程序变量等)。...而缓冲区的大小是根据C编译系统决定的。 简化图示: 为什么有文件缓冲区 从内存向文件读写数据都要借助于操作系统,每次都会让操作系统产生开销。

    99810

    使用Python模块:struct模块

    Python没有提供直接的将用户定义的数据类型和文件IO关联起来的功能,但是它提供了struct库(是一个内置库)——我们可以以二进制模式来写这些数据(有趣的是,它真的是设计来讲文本数据写为缓存的)...这就造成了『列表元素的不连续存储』,在Python中列表中的数据可能不会被存储为连续的字节块 为了处理它们,将python值转换为C结构很重要,即将它们打包成连续的数据字节,或者将一个连续的字节块分解成...Python对象 struct模块执行Python值和以Pythonbytes表示的C结构体之间的转换,这可以用于处理存储在文件中或来自网络连接以及其他源的二进制数据;它使用一定格式的字符串作为C语言结构布局的简洁描述以及到或从...unpack()函数 使用unpack()函数从写好的二进制文件中读出文件 ? ? 先用二进制编辑器随便写一个文件 ? 然后调用struct模块的unpack()函数读取数据 ? ?...可以看到,同样的一个文件读取方式不同,输出的结果也就不同 在文件操作结束后,不要忘了file.close()

    1.5K20

    小师妹学JavaIO之:文件读取那些事

    简介 小师妹最新对java IO中的reader和stream产生了一点点困惑,不知道到底该用哪一个才对,怎么读取文件才是正确的姿势呢?今天F师兄现场为她解答。...字符和字节 小师妹最近很迷糊:F师兄,上次你讲到IO的读取分为两大类,分别是Reader,InputStream,这两大类有什么区别吗?为什么我看到有些类即是Reader又是Stream?...小师妹,你知道哲学家的终极三问吗?你是谁?从哪里来?到哪里去? F师兄,你是不是迷糊了,我在问你java,你扯什么哲学。 小师妹,其实吧,哲学是一切学问的基础,你知道科学原理的英文怎么翻译吗?...byte翻译成中文就是字节,字节是java中存储的基本单位。 有了字节,我们就可以解释字符了,字符就是由字节组成的,根据编码方式的不同,字符可以有1个,2个或者多个字节组成。...我们人类可以肉眼识别的汉字呀,英文什么的都可以看做是字符。 而Reader就是按照一定编码格式读取的字符,而InputStream就是直接读取的更加底层的字节。

    36820

    python decode encode

    这是因为UliPad在英文WindowsXP上的控制台信息输出窗口是按照ascii编码输出的(英文系统的默认编码是 ascii),而上面代码中的字符串是Unicode编码的,所以输出时产生了错误。...*字符:英文字符“abc”,或者中文字符“你我他”。字符本身不知道如何在计算机中保存。下文中,会避免使用“字符串”这个词,而用“文本”来表  示“字符”组成的串。 ...首先,Windows的控制台确实是unicode(utf16_le编码)的,或者更准确的说使用字符为单位输出文本的。  但是,程序的执行是可以被重定向到文件的,而文件的单位是“字节”。 ...虽然文件或者网页是文本的,但是在保存或者传输时已经被编码成bytes了,所以用"rb"打开的file和从socket读取的流是基于字节的.  "它们如果确实是一段“文本”,比如你想print出来看看。...字符集的定义是抽象的,与计算机无关。  编码字符集:是一个从整数集子集到字符集抽象元素的映射。即给抽象的字符编上数字。如gb2312中的定义的字符,每个字符都有个整数和它对应。

    2.5K10

    【C语言】文件操作(1)

    其实我们可以理解程序文件就是我们写代码的文件(其可以运行)。源程序文件是还没经历编译和链接时的最初始的文件,而目标文件和可执行程序是源程序文件在编译,链接时产生的文件。...如有整数10000,如果以ASCII码的形式输出到磁盘,则磁盘中占⽤5个字节(每个字符⼀个字节),⽽⼆进制形式输出,则在磁盘上只占4个字节(VS2019测试)。...如上图,文本文件就是将其数据转换为ascall码形式的数据再储存在文本文件中。这样每个字符都要转换为ascall码值,所以就由四个字节变为5个字节去存储在文本文件中。...当我们打开文本文件时,显示出的依然是我们原来的值。举个例子,比如我们将400000存入文本文件时,我们打开文本文件后显示出来的是400000(原数据),并不是地址形式的数据。...如果存在该文本文件,则打开该文件(不会格式化该文件),保留原来的内容并继续追加数据输入到文件中(不能读取该文件) 其总共有12种打开方式,这里我们只讲三种(对于有r字符的打卡方式,都是不存在该文件则返回

    8810

    高效编程之首字符大小写转换!

    "Abc" 转成字符数组,然后C[0] 肯定就是首字母了,C[0]是A,A在ASCII码中是第65位,而在ASCII码中 大写字母和小写字母差了32个位置; 所以为了得到小写字母a ,我们可以将A+32...文件    .Java文件 被JVM 转为.class文件后, 代码里的字符和字符串都是按unicode格式存在的 而unicode码的的前128位和 ASCII码的128位是一样的;所以我们可以直接使用...,它们都是统一的一个字符,同时,也都是统一的两个字节,请注意”字符”和”字节”两个术语的不同,字节是一个8位的物理存贮单元,而字符则是一个文化相关的符号。...在unicode中,一个字符就是两个字节。那我有时候只是用个英文本来只要一个字节,结果现在用了unicode却要两个字节了,这unicode不是傻逼么?...从unicode到uft-8并不是直接的对应,而是要过一些算法和规则来转换。

    1.1K10

    初识C语言·文件操作

    1 关于文件 i)文件的基本知识 在电脑中文件是随处可见的,那你思考过为什么存在“文件”吗?...二进制文件是数据在内存中不加转化,直接输出到外存的文件,数据文件需要经过ASCII码值的转化,再输出到外存,所以以ASCII码值存储的文件都是文本文件。 那么一个数据是怎么在内存中存储的呢?...当然,流也是由类型的,这三个流的类型是FILE*,FILE的英文意思就是文件,也就是文件指针,C语言中,FILE*的使用也是用来维护各种流的使用的。...ii)文件指针 文件类型指针就是FILE*,简称文件指针,而每个使用的文件在内存中都开辟了一块文件信息区,文件的相关信息,而这些信息保存在一个结构体变量里面,这个结构体变量就是FILE*,在vs2013...,才会从磁盘输入到程序里面去。

    7310
    领券