Java进阶(File,方法递归,字符集)
File
- File是Java.io包下的类。File类的对象,用于代表当前操作系统的文件(可以是文件,也可以是文件夹)
- File只能对文件本身进行操作,不能读写文件里面存储的数据。
- 创建File创建对象代表文件/目录
IO流(读写数据)
- 示例:
import java.io.File;
import java.io.IOException;
public class Test1 {
public static void main(String[] args) throws IOException {
//1.创建File对象,去获取某个文件的信息
File file=new File("D:/aaa.txt");
System.out.println(file.length());//字节个数
System.out.println(file.getName());//获取名称
System.out.println(file.isFile());//判断是否为文件
System.out.println(file.isDirectory());//判断是否为文件夹
//2.创建对象代表不存在的文件路径
File f1=new File("D:/aaa.txt");
System.out.println(f1.exists());//判断文件是否存在
System.out.println(f1.createNewFile());//把这个文件创建出来
//3.创建对象代表不存在的文件夹路径
f1.mkdir();//只能创建一级文件夹
f1.mkdirs();//可以创建多级文件夹
f1.delete();//删除文件/文件夹(只能删除空文件夹)
//4.获取某个文件目录下的全部一级文件名称
File f2=new File("D:/aaa/aaa.txt");
String[] names=f2.list();
for (String name : names) {
System.out.println(name);
}
//获取某个文件目录下的全部一级文件对象
File[] files=f2.listFiles();//创建文件数组来存储一个文件目录下的所有文件对象
for (File file1 : files) {
System.out.println(file1.getName());//拿到文件目录下的所有文件对象后,再进行操作
}
}
}
- 递归算法
- 方法调用自身的形式称为方法递归。
- 递归公式,例:f(n)=f(n-1)*n
- 要有递归终结点,例: f(1)
- 递归的方向必须走向终结点
字符集
-
ASCII码使用一个字节存储一个字符,首位为0
-
GBK(汉字编码字符集),GBK中一个中文字符编码成两个字节的形式存储,汉字的第一个字节的第一位必须是1。
-
UTF-8是Unicode字符集的一种编码方案,采用可变长编码方案。汉字占3个字节,英文数字占一个字节。
-
一个字节表示:0xxxxxxx。
-
两个字节表示:110xxxxx 10xxxxxx。
-
三个字节表示:1110xxxx 10xxxxxx 10xxxxxx。
-
四个字节表示:11110xxx 10xxxxxx 10xxxxxx 10xxxxxx。
-
编码和解码使用的字符集必须一致,否则会出现乱码。
-
对字符编码解码:
public class Test2 { public static void main(String[] args) throws Exception { //写程序实现字符编码和解码 //1.编码 String name="中文汉字aaa123"; byte[] bytes = name.getBytes();//默认平台UTF-8编码 byte[] bytes1=name.getBytes("GBK");//指定GBK进行编码 //2.解码 String name11=new String(bytes);//默认UTF-8解码 String name22=new String(bytes1,"GBK");//指定用GBK进行解码,否则会出现乱码 System.out.println(name11); System.out.println(name22); } }
浙公网安备 33010602011771号