• java大作业中的文件操作


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

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

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

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

    public void writeToFile() {
    	try (FileWriter writeFile = new FileWriter("pets.txt")) {
    		writeFile.write("content");
    	} catch (Exception e) {
    		sout(e.getMessage());
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

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

    FileWriter writeFile = null;
    try {
    	writeFile = new FileWriter("pets.txt");
    } catch (Exception e) {
    	sout(e.getMessage());
    } finally {
    	if(writeFile != null) {
    		writeFile.close();
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

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

    程序读入文件内的内容

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

    经过实践,如果该行是只有换行符\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"]
    
    • 1
    • 2
    • 3

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

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

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

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

    同理

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

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

  • 相关阅读:
    OpenAI官方吴达恩《ChatGPT Prompt Engineering 提示词工程师》(4)推理/Inferring
    DEJA_VU3D - Cesium功能集 之 086-地图打印(场景专题图输出)完整版
    脚本:python实现樱花树
    java-net-php-python-jsp保险公司报销演示录像修改版2020计算机毕业设计程序
    如何将驱动编译为kernel 模块
    C 语言实现 UDP
    cmake中的设置目标属性set_target_properties
    vue项目TypeScript intellisense is disabled on template.异常解决方案
    selenium中ActionChains方法详细讲解
    成为黄金代理,必须考虑到这一点
  • 原文地址:https://blog.csdn.net/qq_63432403/article/details/134492764