返回顶部
首页 > 资讯 > 后端开发 > Python >Java I/O流实例之简历替换
  • 442
分享到

Java I/O流实例之简历替换

2024-04-02 19:04:59 442人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录学习内容内容管理java文件I/O实例----生成报表总结学习内容 Java I/O 项目案例 内容管理 java文件I/O实例----生成报表 我们之前学习了两个重要的模块,一

学习内容

Java I/O 项目案例

内容管理

java文件I/O实例----生成报表

我们之前学习了两个重要的模块,一个就是Java I/O 另外一个就是java的界面编程,界面编程我们已经实践过了,但是I/O流还没有实践过呢,所以接下来将做一个小项目就是打印报表

需求描述

假设有一个简历模板文件,比如resume.template, 文件内容如下


我的名字是(name)
我毕业院校是(schoolName)
我的所学专业是(major)

要求:根据模板文件,生成新的文件,并替换源文件模板中的指定信息,如生成新的报表文件如下

我的名字是Echo

我毕业院校是 T大

我的所学专业是 CS

那我们怎么实现这个功能呢,我们首先要从指定文件中读取信息,之后替换之后我们又要采用写的方式将新生成的信息放入到我们的新创建的文件中去。

那我们先来初步编辑一下

程序源码(详解版)


package Luogu;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class PrintResume {//我们的程序分为几部分
	static BufferedReader brFile = null;
	static BufferedWriter bwFile = null;
	//第一步:读取模板文件的内容
	
	public static void main(String[] args) {
		try {
			brFile = new BufferedReader(new FileReader(new File("D:\\\\Java项目\\\\Luogu\\resume.template.txt")));//最里面一定是介质流,加上路径
			String line = null;//每行的内容
			String load = null;//储存我们的文件
			//try {可以不用多次选中
				while((line = brFile.readLine()) != null)
				{
					load = load + line;
				}
		//第二步:替换文件中特定的信息
				load.replace("(name)", "Echo").replace("(schoolName)", "T大").replace("(major)", "CS");//这里直接使用的是字符串的替换方法,可以连续使用
		//第三步:将新的信息输出到指定文件中
				File file = new File("D:\\\\Java项目\\\\Luogu\\new.resum.txt");
				bwFile = new BufferedWriter(new FileWriter(file));
				bwFile.write(load);
		}catch(FileNotFoundException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}finally {//try里面的语句是局部变量在finally里不可见
				try {
					bwFile.close();
					brFile.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
	}
}

这里我们运行就发现了一个问题,文件是生成了,但是我们点开文件发现出现了乱码

null鎴戠殑鍚嶅瓧鏄?: (name)鎴戞瘯涓氶櫌鏍℃槸: (schoolName)鎴戠殑鎵?瀛︿笓涓氭槸: (major)

出现这种问题是为什么呢,你可以先想一想,节下来我就要解决这个问题了

问题出现的原因

出现这种问题就是就是因为我们这里将源文件的类型定义的.template,我们将其改成txt文件

就是源文件为resume.txt; 新文件是newResume.txt

所以问题就是我们最开始创建时编码格式为UTF-8;但是我们的字符串只能识别ASCLL,这里我们光改名字是不能达到目的的,我们还要通过另存源文件为ASCLL编码类型才可以

这样之后输出的结果为

null我的名字是: (name)我毕业院校是: (schoolName)我的所学专业是: (major)

但是这里还是有问题,就是我们这里没有实现换行,并且信息没有替换掉,最前面多了一个null;

  • 这个null是怎么回事,这是因为我们的字符串是拼接成的,但是最开始有个初值为null,所以这里就会打印出了一个null
    • 方法: 将字符串定义为"" 就好了,不是空,是空串
  • 为什么没有换行,这里是因为我把每行的字符串给了line,之后又直接拼接到了load上,所以没有换行符
    • 每读完一行加一个“\r\n”;
  • 那为什么没有实现字符的替换呢?这里就涉及到我们之前分享的对字符串的所有字符串都不会改变源字符串的内容,而是生成一个新的字符串
    • 那我们就将修改后的字符串赋给源字符串就好,注意这里只是赋予管理权 load = load.replace(); 输出了正确结果

我的名字是: Echo
我毕业院校是: T大
我的所学专业是: CS

总结

我们今天分享的主要内容就是一个案例的分享,IO是一个非常重要的部分,一定要掌握扎实,这里出现的四个问题一定要明确它们的解决办法

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: Java I/O流实例之简历替换

本文链接: https://lsjlt.com/news/136403.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java I/O流实例之简历替换
    目录学习内容内容管理java文件I/O实例----生成报表总结学习内容 Java I/O 项目案例 内容管理 java文件I/O实例----生成报表 我们之前学习了两个重要的模块,一...
    99+
    2024-04-02
  • Java I/O流使用示例详解
    目录1.java IO包2.创建文件3.获取文件信息4.目录操作5.字节输入流InputStream6.字节输出流FileOutputStream7.模拟文件拷贝8.字符输入流Fil...
    99+
    2022-11-13
    Java I/O流使用 Java I/O流
  • Java I/O 之File类的示例分析
    这篇文章主要为大家展示了“Java I/O 之File类的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java I/O 之File类的示例分析”这篇文章吧。File类Java使用Fil...
    99+
    2023-06-20
  • Java I/O API性能实例分析
    本篇内容主要讲解“Java I/O API性能实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java I/O API性能实例分析”吧!  一、概述   IO API的可伸缩性对Web应用...
    99+
    2023-06-03
  • C语言I/O流设计实例分析
    这篇文章主要介绍了C语言I/O流设计实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言I/O流设计实例分析文章都会有所收获,下面我们一起来看看吧。前言文件的读取和写入...
    99+
    2024-04-02
  • Java I/O流之打印流详细使用方法教程
    目录打印流打印流基本使用输出语句重定向总结打印流 打印流基本使用 打印流: 作用:打印流可以实现更方便、更高效的打印数据到文件中去。打印流一般是指:PrintStream,Prin...
    99+
    2023-01-31
    Java打印流 java打印流有什么用 java io流
  • Java实战之基于I/O流设计的图书管理系统
    目录一、前言二、项目介绍三、项目说明四、项目实现五、总结一、前言 当前,我还没有学到数据库相关的知识,想要完全通过Java来完成一个可以存储数据的图书馆管理系统就只能使用I/O流的知...
    99+
    2024-04-02
  • Java基础知识之I/O流和File类文件操作
    目录♒I/O流原理及流的分类I/O原理I/O流的分类️文件(File)概念✍️常用操作(File类)总结♒I/O流原理及流的分类 I/O原理 I/O是Input和Output的缩写,...
    99+
    2024-04-02
  • JAVA中I/O模型的详细讲解(附实例)
    也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗。在进入Java NIO编程之前,我们今天先来讨论一些比较基础的知识:I/O模型。下面本文先从同步和异步的概念 说起,然后接着阐述了阻塞和非阻塞的区别,接着介...
    99+
    2020-06-20
    java教程 I/O
  • Java基础知识之I/O流和File类文件操作方法
    今天小编给大家分享一下Java基础知识之I/O流和File类文件操作方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。♒I/...
    99+
    2023-06-30
  • Java正则替换手机号代码实例
    在日常生活中,我们经常会遇到将一个手机号的4-7位字符串用正则表达式替换为为星号“*”。这是出于对安全性和保护客户隐私的考虑将程序设计成这样的。下面我们就来看看具体代码。package Test0914;public class Mobil...
    99+
    2023-05-31
    java 正则表达式 ava
  • java中replaceAll替换圆括号实例代码
    前言 在手写sql的时候,根据参数处理查询条件. select * from staff where 1 = 1 and staff_id in ($staffI...
    99+
    2024-04-02
  • C++实现LeetCode之替换单词的示例分析
    这篇文章主要介绍C++实现LeetCode之替换单词的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完![LeetCode] 648.Replace Words 替换单词In English, we have a...
    99+
    2023-06-20
  • java正则替换sql中的参数实例代码
    目录前言要求:分析:代码:测试:总结:前言 在处理sql参数的时候,替换圆括号里面只处理了一种情况。而没有从整体上进行处理!!! 这是一个思考问题上严重的偏向。 考虑问题时候,要先从...
    99+
    2024-04-02
  • Java ClassLoader虚拟类实现代码热替换的示例代码
    目录总结ClassLoader 虚拟类方法实现代码热替换实现改进思考总结 类加载器是负责加载类的对象。类ClassLoader是一个抽象类。给定类的全限定类名,类加载器应尝试查找或生...
    99+
    2024-04-02
  • java面向对象设计原则之里氏替换原则示例详解
    目录概念实现拓展概念 里氏替换原则是任何基类出现的地方,子类一定可以替换它;是建立在基于抽象、多态、继承的基础复用的基石,该原则能够保证系统具有良好的拓展性,同时实现基于多态的抽象机...
    99+
    2024-04-02
  • Angular实践之将Input与Lifecycle转换成流示例详解
    目录将 Input 和生命周期函数转换成流思路抽离成一个方法重写生命周期函数将 Input 和生命周期函数转换成流 在 Angular 中一直有一个期待,就是希望能够将 Input...
    99+
    2023-02-17
    Angular将Input Lifecycle转流 Input Lifecycle转换成流
  • Java实战之实现物流配送系统示例详解
    目录介绍效果图展示主要实现代码介绍 系统分普通用户、企业、超级管理员等角色,除基础脚手架外,实现的功能有: 超级管理员:系统管理、用户管理、企业用户管理、普通用户管理、货物类型管理、...
    99+
    2024-04-02
  • 解析Java实现设计模式六大原则之里氏替换原则
    目录一、什么是里氏替换原则1.1、里氏替换原则定义1.2、里氏替换原则有至少有两种含义二、使用里氏替换原则的目的三、里氏替换原则与继承多态之间的关系四、里式替换的规则4.1、子类方法...
    99+
    2024-04-02
  • 从零开始学习 Java:简单易懂的入门指南之IO缓冲流、转换流(三十二)
    缓冲流、转换流 1. 缓冲流1.1 概述1.2 字节缓冲流构造方法效率测试 1.3 字符缓冲流构造方法特有方法 1.4 练习:文本排序案例分析案例实现 2. 转换流2.1...
    99+
    2023-10-10
    学习 java python spring boot 开发语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作