JAVA基础进阶(十)

一、File类常用的API

File类的对象可以用来表示文件或者文件夹,下面是File类常用的API。

1.1、File类判断文件类型、获取文件信息功能

代码中的体现:

1.2、File类的创建和删除方法

代码中的体现:

1.3、文件夹遍历方法

代码中的体现:

二、字符集

字符集(Character set)是多个字符的集合,由于各个国家的文字和符号有所不同,所以就有了不同的字符集。

常见的字符集有GBK、UTF-8、ASCII字符集

GBK字符集中一个字母占1个字节,一个汉字占2个字节,

UTF-8字符集中一个字母占1个字节,一个汉字3个字节。

三、编码和解码

任何字符都不是直接存储在计算机中的,而是按照一定规则转换为二进制进行存储的,把字符转换为二进制的过程叫做字符编码。

二进制转换为字符的过程叫做字符解码。

四、IO流

IO流是用来处理数据的读和写的,按照流向分为输入流和输出流,输入流是读数据到内存,输出流是写数据到磁盘。

4.1、IO流体系

按照读写的数据单位分为字节流、字符流。字节流:以字节为单位,读写。字符流:以字符为单位,读写。

4.2、字节流和字符流的使用

4.2.1、字节输入流在代码中的使用:

4.2.2、字符输入流在代码中的使用:

字符输入流和字节输入流使用时几乎一模一样,唯一的不同在于读取的数据单位为字符流(使用字节流读取中文的时候可能会造成乱码,使用字符流可以避免这种情况)

4.2.3、字节输出流在代码中的使用:

4.2.4、字符输出流在代码中的使用:

4.2.5、使用字节输入流、字节输出流完成复制

使用字节输入流读取a.txt文件中的内容,再使用字节输出流,将读取到的内容写到b.txt中。

五、缓冲流

5.1、缓冲流概述

缓冲流也称为高效流、或者高级流。之前学习的字节流、字符流可以称为原始流(基础流)。

缓冲流可以提高原始字节流、字符流读写数据的性能。缓冲流分为字节缓冲输入流、字节缓冲输出流、字符缓冲输入流、字符缓冲输出流。

5.2、字节缓冲流的基本使用

使用字节缓冲输入流、字节缓冲输出流完成文件复制

5.3、缓冲流的性能分析

使用原始字节流是首先将数据源读取到字节流,字节流再每次1KB的速度与内存交互。

字节缓冲输入流自带了8KB缓冲池,并且缓冲池位于内存中,这样内存读取数据就是从缓冲池中一次读取8KB,所以读取速度回快很多。同理字节缓冲输出流也自带了8KB缓冲池,位于内存中,这样每次写数据也会快很多。(字符缓冲流也是同样的原理)

5.4、字符缓冲流的基本使用

只是在BufferedReader和BufferedWriter中新增了readLine和newLine方法。

代码中的使用:

缓冲流的使用可以参考:

Java IO流 - 缓冲流的详细使用介绍_字节缓冲流_学全栈的灌汤包的博客-CSDN博客

六、Java对象的序列化和反序列化

序列化:将数据结构或对象转换成二进制字节流的过程

反序列化:将在序列化过程中所生成的二进制字节流的过程转换成数据结构或者对象的过程

若某个类实现了 Serializable 接口,该类的对象就是可序列化的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/180983.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#常用运算符的优先级

前言 运算符在C#编程语言中扮演着重要的角色,用于执行各种计算和操作。了解运算符的优先级是编写高效和正确代码的关键。本文将深入探讨C#中38个常用运算符的优先级划分和理解,并提供详细的说明和示例,以帮助读者更好地理解运算符的使用。 目…

Stable Video Diffusion重磅发布:基于稳定扩散模型的AI生成视频

最近,stability.ai发布了稳定视频扩散,这是stability.ai第一个基于图像模型稳定扩散的生成视频基础模型。现在可以在研究预览中看到,这个最先进的生成人工智能视频模型代表着stability.ai在为每种类型的人创建模型的过程中迈出了重要的一步。…

FFA 2023|字节跳动 7 项议题入选

Flink Forward 是由 Apache 官方授权的 Apache Flink 社区官方技术大会,作为最受 Apache Flink 社区开发者期盼的年度峰会之一,FFA 2023 将持续集结行业最佳实践以及 Flink 最新技术动态,是中国 Flink 开发者和使用者不可错过的的技术盛宴。 …

中小型工厂如何进行数字化转型

随着科技的快速发展和市场竞争的日益激烈,中小型工厂面临着诸多挑战。为了提高生产效率、降低成本、优化资源配置,数字化转型已成为中小型工厂发展的必经之路。中小型工厂如何进行数字化转型呢? 一、明确数字化转型目标 在进行数字化转型之前…

怎么把dwg格式转换pdf?

怎么把dwg格式转换pdf?DWG是一种由AutoCAD开发的二维和三维计算机辅助设计(CAD)文件格式,它的名称是“绘图(Drawing)”的缩写。DWG文件通常包含了设计图纸、模型和元数据等信息,并且被广泛用于工…

Pytorch:torch.utils.data.DataLoader()

如果读者正在从事深度学习的项目,通常大部分时间都花在了处理数据上,而不是神经网络上。因为数据就像是网络的燃料:它越合适,结果就越快、越准确!神经网络表现不佳的主要原因之一可能是由于数据不佳或理解不足。因此&a…

接口01-Java

接口-Java 一、引入(快速入门案例)二、接口介绍1、概念2、语法 三、应用场景四、接口使用注意事项五、练习题1 一、引入(快速入门案例) usb插槽就是现实中的接口。 你可以把手机、相机、u盘都插在usb插槽上,而不用担心那个插槽是专门插哪个的,原因是做u…

解决git action发布失败报错:Error: Resource not accessible by integration

现象: 网上说的解决方法都是什么到github个人中心setting里面的action设置里面去找。 可这玩意根本就没有! 正确解决办法: 在你的仓库页面,注意是仓库页面的setting里面: Actions> General>Workflow permisss…

苹果手机如何格式化?五个步骤快速掌握!

如果手机出现异常情况,例如运行缓慢、频繁崩溃,又或者想将手机出售、转让给他人,那么将手机格式化可以有助于解决问题。苹果手机如何格式化?本文将为您介绍解决方法,只需要五个步骤就能搞定,帮助您快速掌握…

天软高频时序数据仓库

1天软高频时序数仓方案架构 天软高频时序数据仓库是深圳天软科技开发有限公司专为金融用户提供的专业高频行情数据处理方案,集数据接入、检查、处理、存储、查询、订阅、计算于一体。 方案支持各类系统的实时行情、非实时行情接入;还支持压缩存储、分布式…

使用 DMA 在 FPGA 中的 HDL 和嵌入式 C 之间传输数据

使用 DMA 在 FPGA 中的 HDL 和嵌入式 C 之间传输数据 该项目介绍了如何在 PL 中的 HDL 与 FPGA 中的处理器上运行的嵌入式 C 之间传输数据的基本结构。 介绍 鉴于机器学习和人工智能等应用的 FPGA 设计中硬件加速的兴起,现在是剥开几层“云雾”并讨论 HDL 之间来回传…

Peter算法小课堂—高精度减法

给大家看个小视频高精度减法_哔哩哔哩_bilibili 基本思想 计算机模拟人类做竖式计算,从而得到正确答案 大家还记得小学时学的“减法竖式”吗?是不是这样 x-y问题 函数总览: 1.converts() 字符串转为高精度大数 2.le() 判断大小 3.sub() …

【技术干货】宇视IPC音频问题解决步骤

近期技术人员从宇视官网下载sdk进行二次开发时,在启动实时直播,并通过回调函数拿到流数据,发现没有音频流数据。 通过下面的数据发现,codeType此字段一直是28,代表的是H.264数据,但未没发现有音频的数据包…

什么是Geo Trust OV证书

一、GeoTrust OV证书的介绍 GeoTrust OV证书是由GeoTrust公司提供的SSL证书,它是一种支持OpenSSL的数字证书,具有更高的安全性和可信度。GeoTrust是全球领先的网络安全解决方案提供商,为各类用户提供SSL证书和信任管理服务。GeoTrust OV证书…

如何使用ArcGIS实现生态廊道模拟

生态廊道是指一种连接不同生态系统的走廊或通道,其建立有助于解决人类活动对野生动植物栖息地破碎化和隔离化的问题,提高生物多样性,减轻生态系统的压力。在城市化和农业开发不断扩张的背景下,生态廊道对于野生动植物的生存和繁衍…

Hive安装与配置

你需要掌握: 1.Hive的基本安装; 2.Mysql的安装与设置; 3.Hive 的配置。 注意:Hive的安装与配置建立在Hadoop已安装配置好的情况下。 hadopp安装与配置 Hive 的基本安装 从 官网 下载Hive二进制包,下载好放在/op…

万人拼团团购小程序源码系统+拼团设置+拼团管理 附带完整的搭建教程

随着互联网的快速发展,电子商务和社交电商的兴起,团购作为一种高效的营销策略和消费方式,受到了广大消费者的热烈欢迎。在此背景下,我们开发了一款基于微信小程序的万人拼团团购系统,旨在为用户提供一种更加便捷、高效…

python爬虫进阶教程之如何正确的使用cookie

文章目录 前言一、获取cookie二、程序实现三、动态获取cookie四、其他关于Python爬虫技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Pytho…

lxml 总结

xm 和 lxml库 哪个更好用点 1. 性能: lxml 通常比 xml.etree.ElementTree 更快。lxml 使用了 C 编写的底层解析器,因此在处理大型 XML 文档时可能更高效。 如果性能对你的应用很重要,特别是在处理大型 XML 文件时,选择 lxml 可能…

这款高性能分布式ID生成器,现在是你的了~

这是DDD&微服务系列的第17篇,欢迎持续关注~ 概述 在软件开发过程中,我们经常会遇到需要生成全局唯一流水号的场景,例如各种流水号和分库分表的分布式主键ID。特别是在使用MySQL数据库时,除了要求流水号具有“全局唯一”性外&…