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

Java程序设计:Java IO(2)

时间:2024-08-07 12:53:40浏览次数:26  
标签:文件 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

相关文章