一、Java 流(Stream)、文件(File)和IO
知识点总结
Java IO流的分类
按数据流向:输入流和输出流。
按处理数据单位:字节流(InputStream、OutputStream)和字符流(Reader、Writer)。
字节流和字符流的区别:字节流处理字节数据,字符流处理字符数据,字符流在处理时会涉及编码问题。
字符流的使用
Writer:字符输出流的基类。
FileWriter:用于将字符数据写入文件。
BufferedWriter:带缓冲功能的字符输出流,提高写入效率。
Reader:字符输入流的基类。
FileReader:用于从文件中读取字符数据。
BufferedReader:带缓冲功能的字符输入流,提供按行读取的功能。
字节流的使用
InputStream:字节输入流的抽象类。
FileInputStream:用于从文件中读取字节数据。
OutputStream:字节输出流的抽象类。
FileOutputStream:用于将字节数据写入文件,支持追加模式。
File类的常见方法
创建文件/文件夹:createNewFile()、mkdir()、mkdirs()。
删除文件:delete()、deleteOnExit()。
判断文件属性:exists()、isFile()、isDirectory()、isHidden()。
获取文件信息:getName()、getPath()、getParent()、getAbsolutePath()、lastModified()、length()。
import java.io.*;
public class CharStreamDemo {
public static void main(String[] args) throws IOException {
// 写入字符到文件
FileWriter fw = new FileWriter("char_output.txt");
BufferedWriter bw = new BufferedWriter(fw);
bw.write("Hello, world!");
bw.newLine();
bw.write("This is a test.");
bw.close();
// 从文件读取字符
FileReader fr = new FileReader("char_output.txt");
BufferedReader br = new BufferedReader(fr);
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
}
}
import java.io.*;
public class ByteStreamDemo {
public static void main(String[] args) throws IOException {
// 写入字节到文件
FileOutputStream fos = new FileOutputStream("byte_output.txt");
String data = "Hello, world!";
fos.write(data.getBytes());
fos.close();
// 从文件读取字节
FileInputStream fis = new FileInputStream("byte_output.txt");
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
System.out.println(new String(buffer));
fis.close();
}
}
二、JSON简介
JSON是一种轻量级的数据交换格式,使用键值对描述对象属性。
键与值之间用冒号连接,多个键值对之间用逗号分隔。
键必须用引号引住,值可以是任意JS数据类型。
import org.json.JSONObject;
public class JSONDemo {
public static void main(String[] args) {
// 创建JSON对象
JSONObject book = new JSONObject();
book.put("name", "金苹果");
book.put("info", "种苹果");
// 输出JSON对象
System.out.println(book.toString());
}
}
三、Maven
知识点总结
Maven的主要功能
提供标准化的项目结构。
提供标准化的构建流程(编译、测试、打包、发布)。
提供依赖管理机制。
Maven项目结构
pom.xml:项目描述文件。
src/main/java:存放Java源码。
src/main/resources:存放资源文件。
src/test/java:存放测试源码。
target:存放编译和打包生成的文件。
依赖管理
通过groupId、artifactId和version唯一标识依赖。
依赖范围:compile、test、runtime、provided。
Maven从中央仓库下载依赖,并缓存到本地。
生命周期和阶段
Maven生命周期由一系列阶段构成。
常用命令:mvn clean、mvn clean compile、mvn clean test、mvn clean package。
四、MVC三层架构
MVC架构的组成
模型(Model):处理数据和业务逻辑。
视图(View):与用户交互的界面。
控制器(Controller):连接视图和模型,处理用户请求并调用模型处理数据,最后选择视图进行展示。