javaSE-IO

1.File

file类是文件目录路径名的抽象表示形式

//1.创建文件夹,父文件夹不存在会自动创建
File filedir = new File("E:\\demo1\\demo2\\demo3");
System.out.println("mkdir:" + filedir.mkdirs());
//2.创建文件,目录不存在
File file = new File(filedir, "a.txt");
System.out.println("file:" + file.createNewFile());
//3.创建文件,目录已存在
File file2 = new File("E:\\demo1\\demo2\\demo3\\b.txt");
System.out.println("file:" + file2.createNewFile());

2. 过滤器功能

File[] listFiles(FilenameFilter filter)

public static void main(String[] args) throws IOException {
		File file = new File("e:\\");
		// 1.先获取所有的,在遍历的时候判断,再输出
		// 2.先判断,再获取
		File[] listFiles = file.listFiles(new FilenameFilter() {
			@Override
			public boolean accept(File dir, String name) {
				boolean condition = new File(dir,name).isFile() && name.endsWith(".jpg");
				return condition;
			}
		});
		
		for (File file2 : listFiles) {
			System.out.println(file2.getName());
			break;
		}
	}

3. IO流知识点

在这里插入图片描述

4. FileOutputStream写数据的的注意事项

a: 创建字节输出流对象做了几件事情?

  • 调用系统功能去创建文件
  • 创建fos对象
  • 把fos对象指向这个文件

b: 为什么要close()?

  • 让流对象变成垃圾,这样就可以被垃圾回收器回收了
  • 通知系统去释放跟该文件相关的资源

c: 如何实现数据的换行?

  • 在数据添加后写入换行符
  • 换行符:windows:\r\n,linux:\n,Mac:\r

d: 如何实现数据的追加写入?

  • 创建一个向具有指定 name 的文件中写入数据的输出文件流。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。
    FileOutputStream fos = new FileOutputStream("test.txt", true);

5. 字节缓冲区流

BufferedOutputStream(OutputStream out)
通过定义数组的方式确实比以前一次读取一个字节的方式快很多,所以,看来有一个缓冲区还是非常好的。
为什么传递一个OutputStream对象呢?因为字节缓冲区流仅仅提供缓冲区,为高效而设计的。但是呢,真正的读写操作还得靠基本的流对象实现。

这种类被称为:缓冲区类(高效类)

  • 写数据:BufferedOutputStream
  • 读数据:BufferedInputStream

6.常见编码表

在这里插入图片描述

7.打印流

(1) 类型
字节流打印流 PrintStream
字符打印流 PrintWriter

(2)特点:
A:只操作目的地,不操作数据源
B:可以操作任意类型的数据
C:如果启用了自动刷新,在调用println()方法的时候,能够换行并刷新

  • PrintWriter(OutputStream out, boolean autoFlush)

D:可以直接操作文件(此时不能设置刷新)

  • PrintWriter(String fileName)

(3)复制文本文件

	BufferedReader br = new BufferedReader(new FileReader("a.txt"));
	PrintWriter pw = new PrintWriter(new FileWriter("b.txt"),true);
	
	String line = null;
	while((line=br.readLine())!=null) {
		pw.println(line);
	}
	
	pw.close();
	br.close();

8.序列化

(1)定义
序列化流:对象 —>流数据(ObjectOutputStream)
把对象按照流一样的方式存入文本文件或者在网络中传输。

反序列化流:流数据 —> 对象(ObjectInputStream)
把文本文件中的流对象数据或者网络中的流对象数据还原成对象。

(2)实现

	// 写入序列化对象
	private static void write() throws Exception {
		// 创建序列化流对象
		ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("a.txt"));
		Person p = new Person("小xiao", 18);
		oos.writeObject(p);
		oos.close();
	}
	
	// 读取序列化对象
	private static void read() throws Exception {
		// 创建反序列化流对象
		ObjectInputStream ois = new ObjectInputStream(new FileInputStream("a.txt"));
		Object obj = ois.readObject();
		ois.close();
		System.out.println(obj);
	}

(3)serialVersionUID的作用
看到类实现了序列化接口的时候,要想解决黄色警告线问题,就可以自动产生一个序列化id值。serialVersionUID固定以后,我们对类进行任何改动,它读取以前的数据是没有问题的。如果没有固定,那么修改类文件后就ID就会变化,无法读取以前存储的数据。

(4)transient关键字的作用
可用于声明不需要序列化的成员变量

// private int age;
private transient int age;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
4S店客户管理小程序-毕业设计,基于微信小程序+SSM+MySql开发,源码+数据库+论文答辩+毕业论文+视频演示 社会的发展和科学技术的进步,互联网技术越来越受欢迎。手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用。手机具有便利性,速度快,效率高,成本低等优点。 因此,构建符合自己要求的操作系统是非常有意义的。 本文从管理员、用户的功能要求出发,4S店客户管理系统中的功能模块主要是实现管理员服务端;首页、个人中心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理,用户客户端:首页、车展、新闻头条、我的。门店客户端:首页、车展、新闻头条、我的经过认真细致的研究,精心准备和规划,最后测试成功,系统可以正常使用。分析功能调整与4S店客户管理系统实现的实际需求相结合,讨论了微信开发者技术与后台结合java语言和MySQL数据库开发4S店客户管理系统的使用。 关键字:4S店客户管理系统小程序 微信开发者 Java技术 MySQL数据库 软件的功能: 1、开发实现4S店客户管理系统的整个系统程序; 2、管理员服务端;首页、个人中心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理等。 3、用户客户端:首页、车展、新闻头条、我的 4、门店客户端:首页、车展、新闻头条、我的等相应操作; 5、基础数据管理:实现系统基本信息的添加、修改及删除等操作,并且根据需求进行交流信息的查看及回复相应操作。
现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本微信小程序医院挂号预约系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此微信小程序医院挂号预约系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。微信小程序医院挂号预约系统有管理员,用户两个角色。管理员功能有个人中心,用户管理,医生信息管理,医院信息管理,科室信息管理,预约信息管理,预约取消管理,留言板,系统管理。微信小程序用户可以注册登录,查看医院信息,查看医生信息,查看公告资讯,在科室信息里面进行预约,也可以取消预约。微信小程序医院挂号预约系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值