当前位置: 首页 > article >正文

java大作业中的文件操作

java大作业要求将内容读入一个文件内,之后再次运行该程序时将内容读入。

例如,在程序中已经读入了三个宠物的信息,在程序退出之前将这三个宠物信息存入到一个文件内。当再次运行该程序时,需要先将文件内的三个宠物信息进行读入到程序中。

在这个过程中,用到了FileWriterBufferedReader。尽管FileReader也可以进行读入,但是实现以上操作过于复杂,因此用BufferedReder进行替换。

将程序内的信息存入文件内

public void writeToFile() {
	try (FileWriter writeFile = new FileWriter("pets.txt")) {
		writeFile.write("content");
	} catch (Exception e) {
		sout(e.getMessage());
	}
}

这个函数块内的操作等价于:

FileWriter writeFile = null;
try {
	writeFile = new FileWriter("pets.txt");
} catch (Exception e) {
	sout(e.getMessage());
} finally {
	if(writeFile != null) {
		writeFile.close();
	}
}

将要存入文件的内容替换"content"内容,即可实现。

程序读入文件内的内容

public void fromFileToProgram() {
	try(BufferedReader br = new BufferedReader(new FileReader("pets.txt"))) {
		String line = "";
		while( (line = br.readLine()) != null) {
			// 得到这一行字符串line,进行操作即可。
		}
	}
}

经过实践,如果该行是只有换行符\n的话就是null

对字符串进行操作

BufferedReader进行读取一行得到的是这一行的字符串。可能这一行里面有名字、年龄、颜色、体重等。如何获取具体且准确的信息呢。

可以用trim()split(reg)这些函数。

  • trim()

将字符串前后的空格去掉。

  • split(reg)

reg内容进行分割,得到字符串数组。

例如,Hello I am Golemon

对这个字符串按空格进行分割。

String str = "Hello I am Golemon";
String[] sa = str.split(" ");
// 得到了字符串数组 ["Hello", "I", "am", "Golemon"]

现在得到了这些信息的字符串类型,对于intdouble型如何进行转换呢。

可以用Java提供的字符串转基础类型的方法。

只有合法的基础类型的字符串类型才行。"123"可以转为123,但是"12e3"不能被转为整型,会发生异常。

  • 字符串转整型
String str = "2323";
int a = Integer.parseInt(str);
  • 字符串转浮点型

同理

String str = "1212.22";
double b = Double.parseDouble(str);

现在,就可以完成大作业的文件处理部分了。


http://www.kler.cn/news/133624.html

相关文章:

  • pnpm的安装及其使用
  • Nginx(七) root和alias的区别及详细测试
  • C# 实现腾讯云多路直播流的云端混合录制
  • Python学习笔记--Python关键字yield
  • 潇洒郎: 小白一次性成功——小米红米手机解BL锁+ ROOT-刷面具
  • CentOS挂载:解锁文件系统的力量
  • websocket学习笔记【springboot+websocket聊天室demo】
  • PostgreSQL 数据类型
  • 基于JavaWeb+SSM+社区居家养老服务平台—颐养者端微信小程序系统的设计和实现
  • 软件质量保护与测试(第2版)学习总结第十三章 集成测试
  • 切换阿里云ES方式及故障应急处理方案
  • vue之Error: Unknown option: .devServer.
  • Panda3d 动画序列
  • 七、文件包含漏洞
  • Excel查询时用vlookup或者xlookup时,虽然用的参数选择的是精确匹配,但是发现不能区分大小写,应该如何解决?
  • 【C/PTA】数组进阶练习(三)
  • 系列七、JVM的内存结构【堆(Heap)】
  • 【Rust】6、练习:自己实现 ls
  • 【STM32】ADC(模拟/数字转换)
  • JVM:字节码文件,类的生命周期,类加载器
  • wpf devexpress 创建布局
  • 蓝桥杯第三周算法竞赛D题E题
  • Android studio访问选程https接口(.crt handshake)
  • 一文了解ChatGPT Plus如何完成论文写作和AI绘图
  • rust内存优化
  • .NET CLR介绍
  • 处理多个axios请求
  • Hive 定义变量 变量赋值 引用变量
  • centos 安装 docker
  • echarts双轴刻度线y轴刻度线对齐