Java 基础笔记:文件、递归与字符编码

Java 学习笔记

File 类

File 对象代表具体的文件,只能操作文件本身(不能读写文件内容)。

路径

  • 绝对路径 :带盘符的路径,例如 E:/resource/dlei.jpg
  • 相对路径:不带盘符,默认从 IDEA 工程根目录开始查找,一般用于定位工程内的项目文件

可以使用相对路径来定位 File 对象。


递归算法的三要素

  1. 递归公式f(n) = f(n-1) * n

  2. 递归终结点f(1) = 1

  3. 递归方向必须走向终结点

    f(5) = f(4) * 5
    f(4) = f(3) * 4
    f(3) = f(2) * 3
    f(2) = f(1) * 2
    f(1) = 1


字符集

字符集 说明
ASCII 仅包含英文、数字、符号等,占 1 个字节
GBK 汉字占 2 个字节 ,英文、数字占 1 个字节
UTF-8 汉字占 3 个字节 ,英文、数字占 1 个字节

注意:

  1. 编码时使用的字符集与解码时使用的字符集必须一致,否则会出现乱码。
  2. 英文、数字一般不会乱码,因为很多字符集都兼容 ASCII 编码。

Java 字符编码与解码

编码(字符 → 字节)

String 类的方法:

java 复制代码
byte[] getBytes()                      // 使用默认编码
byte[] getBytes(String charsetName)    // 指定编码

解码(字节 → 字符)

String 类的构造器:

java 复制代码
String(byte[] bytes)                           // 使用默认编码解码
String(byte[] bytes, String charsetName)       // 指定编码解码
相关推荐
秋田君5 小时前
Qt_QMediaPlayer类与QMediaPlaylist类
开发语言·qt
专注仿真5 小时前
Vapor框架构建及Swift for TensorFlow图像分析
java·其他
逃逸线LOF5 小时前
Spring的AOP简介
java·后端·spring
统计学小王子5 小时前
数学建模国赛倒计时6天——《软件工具(R语言精讲)》
开发语言·数学建模·r语言
砚底藏山河5 小时前
【量化纯GET实战 #21】用 pandas 做分析:把接口数据变成 DataFrame
java·python·金融·maven·pandas
C++ 老炮儿的技术栈5 小时前
Qt5 使用 QPainter 绘制阿基米德螺线
开发语言·c++·windows·qt·代码化
知产xiao_xin5 小时前
《伯尔尼公约》—— 版权保护期
经验分享·笔记·知识产权
指针常量5 小时前
【RL相关笔记】RL 效率综述
人工智能·笔记·大语言模型·后训练
EasyGBS5 小时前
从接入到稳定播放:无插件直播H5视频流媒体播放器EasyPlayer.js如何撑起Web端流媒体
开发语言·前端·javascript
FfHUCisI5 小时前
GMP 调度器:Go 并发的心脏是如何跳动的
开发语言·golang·php