Java程序设计:Java IO(2)

目录

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来进行高效的文件拷贝。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这个西瓜明明超甜却过分低调

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值