首页 > 编程语言 >Java程序设计:Java IO(2)

Java程序设计:Java IO(2)

时间:2024-08-07 12:53:40浏览次数:14  
标签:文件 Java Scanner 写入 System 实验 IO 程序设计

目录

1 实验名称

2 实验目的

3 实验源代码

4 实验运行结果图

5 总结


1 实验名称

      Java IO

2 实验目的

       继续熟练掌握在eclipse中调试代码

       掌握Java IO中流的基本概念及使用方法

       掌握文件锁、Scanner解析文件的使用方法

3 实验源代码

package Text06;

import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.channels.FileChannel;
import java.nio.channels.FileLock;
import java.util.Scanner;

public class FileLockDemo {

    public static void main(String[] args) throws IOException {
        // 获取锁对象
        File file = new File("lockfile.txt");
        RandomAccessFile raf = new RandomAccessFile(file, "rw"); // 修改这里
        FileChannel channel = raf.getChannel(); // 修改这里
        FileLock lock = channel.tryLock();

        // 如果获取锁失败
        if (lock == null) {
            System.out.println("文件正在被写入,请稍后再试。。。");
            raf.close(); // 添加这里
            return;
        }

        // 如果获取锁成功,则可以读取文件和写入文件
        System.out.println("文件已经锁定,可以读取或写入数据。。。");

        // 读取文件
        Scanner scanner = new Scanner(file);
        while (scanner.hasNextLine()) {
            String line = scanner.nextLine();
            System.out.println(line);
        }

        // 写入文件
        System.out.println("请输入一行文本:");
        Scanner input = new Scanner(System.in);
        String text = input.nextLine();
        System.out.println("写入以下内容到文件中:" + text);
        raf.write((text + System.lineSeparator()).getBytes()); // 修改这里

        // 释放锁
        lock.release();
        channel.close();
        raf.close(); // 添加这里
    }
}

4 实验运行结果图

5 总结

      此次实验步骤:首先文件读取,Java中提供了多种文件输入流来进行文件读取操作,比如FileInputStream、BufferedInputStream等等;此次实验中,使用BufferedReader来读取文本文件内容,并对于可能出现的异常进行了处理。接着文件写入,Java中也提供了多种文件输出流来进行文件写入操作,比如FileOutputStream、BufferedOutputStream等等;此次实验中,使用BufferedWriter来向文本文件中写入内容,并对于可能出现的异常进行了处理。然后文件拷贝,Java中可以使用字节流或字符流来进行文件拷贝操作,同时也可以使用NIO中的Channel来进行高效的文件拷贝;此次实验中,使用了字节流和字符流来进行文件拷贝,并使用NIO中的Channel来进行高效的文件拷贝。

标签:文件,Java,Scanner,写入,System,实验,IO,程序设计
From: https://blog.csdn.net/cxx0316/article/details/140953557

相关文章

  • Java程序设计:Java IO
    目录1实验名称2实验目的3实验源代码4实验运行结果图5总结1实验名称   JavaIO2实验目的    继续熟练掌握在IDEA中调试代码    掌握File类的基本使用    掌握Java IO中流的基本概念及使用方法    掌握文件IO流、缓冲流......
  • nerfstudio环境配置
    环境基础:neofetch.-/+oossssoo+/-.root@zhy-cuda`:+ssssssssssssssssss+:`--------------+ssssssssssssssssssyyssss+-OS:Ubuntu22.04LTSx86_64.ossssssssssssssssssdMMMNysssso.Host:SA5......
  • Java计算机毕业设计基于Android的公交线路状态查询系统(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着城市化进程的加速,公共交通系统成为了城市居民日常出行不可或缺的一部分。然而,传统的公交线路查询方式往往依赖于纸质地图、公交站牌或电话查询,这......
  • Java计算机毕业设计山西工程技术学院学生请假管理系统的设计与实现(开题+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着高校规模的不断扩大和学生管理需求的日益复杂化,传统的人工请假管理方式已难以满足高效、准确、便捷的管理要求。山西工程技术学院作为一所培养工......
  • Java计算机毕业设计个人博客微信小程序演示录像220239(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展和智能手机的普及,个人博客作为一种重要的网络表达和信息分享方式,逐渐从传统的PC端向移动端延伸。微信小程序作为一种轻量级......
  • Java计算机毕业设计基于小程序急救知识教学平台PC端(开题+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在紧急情况下,迅速而准确的急救措施往往能够挽救生命,减少伤残。然而,公众急救知识的普及率普遍较低,且传统的急救培训方式受限于时间、地点和资源,难以覆......
  • Java计算机毕业设计矿区员工信息管理系统(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着矿区规模的不断扩大和现代化管理的深入,矿区员工的信息管理变得日益复杂且重要。传统的纸质档案管理方式已难以满足高效、准确、实时地处理员工信......
  • Java计算机毕业设计基于协同过滤算法的商品推荐系统(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在信息爆炸的时代,电商平台上的商品数量呈指数级增长,用户在面对海量商品时往往感到无所适从,难以快速找到符合自身需求和喜好的商品。传统的搜索方式虽......
  • Java计算机毕业设计空地一体化智能交通平台测控中心软件系统(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着智能交通技术的迅猛发展,空地一体化交通系统作为未来交通领域的重要趋势,正逐步从概念走向现实。这一系统融合了智能车辆、无人机等多种高科技元素......
  • Java一一一简易图书管理系统
    Java一一一简易图书管理系统1.需求分析功能需求:添加图书删除图书更新图书信息查询图书列出所有图书2.设计实体类:Book业务逻辑类:LibraryManager3.实现3.1Book类publicclassBook{privateStringid;privateStringtitle;privateStringau......