【JAVA学习笔记】66 - 本章作业(IO流)

项目代码

https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter19/src/com/yinhai/homework

1.使用File类和FileWriter类

(1)在判断e盘下是否有文件夹mytemp,如果没有就创建mytemp

public class Homework01 {
    public static void main(String[] args) throws FileNotFoundException {
        String path = "e:\\test\\mytemp";
        File file = new File(path);
        if(!file.exists()){
            file.mkdirs();
        }else{
            System.out.println("已存在");
        }
    }
}

        

(2)在e:\\mytemp目录下,创建文件hello.txt

记得关闭该字符流

FileWriter fileWriter =null;
        try {
            fileWriter = new FileWriter(path + "\\test.txt",true);
            fileWriter.write("hello,world\n");
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            fileWriter.close();
        }

(3)如果hello.txt已经存在,提示该文件已经存在,就不要再重复创建了

//3)如果hello.txt已经存在,提示该文件已经存在,就不要再重复创建了
        File file1 = new File(path,"\\hello.txt");
        FileWriter fileWriter1 =null;

        try {
            if(!file1.exists()) {
                fileWriter1 = new FileWriter(file1);
                fileWriter1.write("hello,world\n");
            }else{
                System.out.println("已存在");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            if(fileWriter1 != null) {
                fileWriter1.close();
            }
        }

2. 使用处理流

要求:使用BufferedReader读取一 个文本文件,为每行加上行号,再连同内容一并输出到屏幕上。
 

3.使用Properties类的使用

(1)要编写一个dog.properties

        name= tom

        age= 5

        color= red

(2)编写Dog类(name,age.color)创建一 个dog对象, 读取dog.properties 用相应的内容完
成属性初始化,并输出

public class Homework02 {
    public static void main(String[] args) throws IOException {
        String path = "e:\\test\\testBufferedCopy.txt";
        BufferedReader bufferedReader = new BufferedReader(new FileReader(path));
        int i = 0;
        String line;
        while ((line = bufferedReader.readLine()) != null){
            System.out.println(++i + line);
        }
        if(bufferedReader != null){
            bufferedReader.close();
        }
    }
}

3.使用Properties类,使用对象流

(1)要编写一个dog.properties

        name = tom

        age=5

        color= red

(2)编写Dog类(name,age,color)创建一个dog对象, 读取dog.properties 用相应的内容完成属性初始化,并输出

(3)将创建的Dog对象,序列化到文件dog.dat文件

public class Homework03 {
    public static void main(String[] args) throws IOException, ClassNotFoundException {
        Properties properties = new Properties();
        properties.setProperty("name","tom");
        properties.setProperty("age","50");
        properties.setProperty("color","red");
        properties.store(new FileOutputStream("src\\dog.properties"),null);
        Dog dog = new Dog(properties);
        ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream("e:\\test\\dog.dat"));
        objectOutputStream.writeObject(dog);
        objectOutputStream.close();//需要关闭或者刷新才会写入成功
        ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream("e:\\test\\dog.dat"));
        Object dogInputStream = objectInputStream.readObject();
        Dog dog1 = (Dog)dogInputStream;
        System.out.println(dog1);
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/120877.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小程序游戏对接广告收益微信小游戏抖音游戏软件

小程序游戏对接广告是一种常见的游戏开发模式,开发者可以通过在游戏中嵌入广告来获取收益。以下是一些与小程序游戏对接广告收益相关的关键信息: 小程序游戏广告平台选择: 选择适合你的小程序游戏的广告平台非常重要。不同的平台提供不同类型…

塔望食研院|骆驼奶市场规模庞大,百亿体量,品牌升级!

自2022年12月塔望咨询开设塔望食品大健康行业与消费研究院(简称塔望食研院)栏目以来,塔望食研院以“为食品行业品牌高质量发展赋能”为理念,不断发布食品大健康行业研究、消费研究报告。塔望食研院致力于结合消费调研数据、企业数…

智能井盖传感器功能,万宾科技产品介绍

在国家治理方面,对社会的治理是一个重要的领域,一定要在推进社会治理现代化过程中提高市政府的管理和工作能力,推动社会拥有稳定有序的发展。在管理过程中对全市井盖进行统一化管理,可能是市政府比较头疼的难题,如果想…

SpringBoot进制转换规则问题

1.填写yml文件 dataSource:driver-class-name: com.mysql.jdbc.Driver789password: 01272.测试类 package com.forever;import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.Spri…

kubernetes-调度

目录 一、k8s调度简介 二、影响kubernetes调度的因素 1、nodename 2、nodeselector 3、亲和与反亲和 (1)nodeaffinity (2)podaffinity(亲和) (3)podantiaffinity&#xff0…

AI系统源码ChatGPT网站源码+ai绘画系统/支持GPT4.0/支持Midjourney局部编辑重绘

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

Python异步编程入门

文章目录 异步编程概念asyncio模块基础event loop和coroutineasync与await关键字代码示例结论在现代软件开发中,异步编程已经成为一个不可或缺的概念,尤其是在处理I/O密集型任务和高并发需求时。Python作为一门多范式编程语言,自3.5版本以来,通过引入asyncio模块和async/aw…

SPASS-图表的创建编辑

点击折线图 展示图如下: 双击图表,可进行编辑 图表基本设定 选择、移动图表元素和调整图表元素的大小 鼠标点击图表元素选择Tab键进行轮换选择Ctrl键鼠标进行多个元素选择十字箭头——移动元素双头箭头——调整元素大小 更改图表的外观 文本的内容、…

番外篇:Linux中好玩的指令(Ubuntu环境)

前言 我知道,Linux的学习总是枯燥乏味的,今天给大家带来一些好玩的指令,供大家娱乐开心,整理不易,希望大家能够多多支持一下。 1. lolcat指令 输入以下命令即可安装lolcat: sudo apt-get install lolcat 安…

洛谷 P1020 [NOIP1999 普及组] 导弹拦截【一题掌握三种方法:动态规划+贪心+二分】最长上升子序列LIS解法详解

P1020 [NOIP1999 普及组] 导弹拦截 前言题目题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示题目分析注意事项 代码动态规划(NOIP要求:时间复杂度O(n^2^))贪心二分(O(nlgn)) 后话额外测试用例样例输入 #1…

微服务-grpc

微服务 一、微服务(microservices) 近几年,微服这个词闯入了我们的视线范围。在百度与谷歌中随便搜一搜也有几千万条的结果。那么,什么是微服务 呢?微服务的概念是怎么产生的呢? 我们就来了解一下Go语言与微服务的千丝…

Java设计模式之迭代器模式

定义 提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。 结构 迭代器模式主要包含以下角色: 抽象聚合角色:定义存储、添加、删除聚合元素以及创建迭代器对象的接口。具体聚合角色:实现抽象聚合类&a…

电机控制::理论分析::延迟环节对系统的影响

控制工程与理论 - 知乎 (zhihu.com) 浅论控制器的增益大小 (上) - 知乎 (zhihu.com) 浅论控制器的增益大小 (下) - 知乎 (zhihu.com) 延迟环节对控制系统的影响_延时环节的传递函数-CSDN博客

2023年双11有哪些便宜的云服务器值得推荐?

每年的双11期间各大云计算服务商都会推出特价云服务器,今年自然也不例外,下面给大家分享2023年双11有哪些便宜的云服务器值得推荐。 1、阿里云【传送门>>>】 阿里云双11推出了金秋云创季活动,2核2G3M不限流量,1年99元&…

华为荣耀软开秋招面经问题整理

一、八股 1.linux常用命令 Linux常用命令(面试题)_linux常用命令面试题-CSDN博客 常用命令、系统命令、打包命令、vim、开关机命令 2.socket通信调用api过程 TCP UDP 3.进程和线程的区别 进程是系统进行资源分配和调度的基本单元,线程…

STM32MPU6050角度的读取(STM32驱动MPU6050)

注:文末附STM32驱动MPU6050代码工程链接,需要的读者请自取。 一、MPU6050介绍 MPU6050是一款集成了三轴陀螺仪和三轴加速度计的传感器芯片,由英国飞利浦半导体(现为恩智浦半导体)公司生产。它通过电子接口&#xff08…

暴力递归转动态规划(十三)

题目 给定3个参数,N,M,K 怪兽有N滴血,等着英雄来砍自己 英雄每一次打击,都会让怪兽流失[0~M]的血量 到底流失多少?每一次在[0~M]上等概率的获得一个值 求K次打击之后,英雄把怪兽砍死的概率。 暴…

sqli-labs-1

文章目录 Less-01Less-02Less-03Less-04 Less-01 1.输入不同的id值,可以获取不同的用户信息: 2.在sql后拼接’or11–,并没有获取到所有用户的信息,猜测可能用了limit语句 3.构造错误的sql语句,果然有limit报错: …

深度学习中的“钩子“(Hook):基于pytorch实现了简单例子

目录 基本概念一个详细的示例 基于resnet50的一个hook应用例子前向传播示例反向传播示例 基本概念 在深度学习中,“钩子”(Hook)是一种机制,可以在神经网络的不同层或模块中插入自定义的代码,以便在网络的前向传播或反…

java传base64返回给数据报404踩坑

一、问题复现 1.可能因为base64字符太长,导致后端处理时出错,表现为前端请求报400错误; 这一步debug进去发现base64数据是正常传值的 所以排除掉不是后端问题,但是看了下前端请求,猜测可能是转换base64时间太长数据过大导致的404 2.前端传…