欢迎访问宙启技术站
智能推送

基于IResource()接口实现文件操作的示例代码

发布时间:2023-12-29 14:09:00

IResource()接口是一个用于文件操作的接口,它定义了一些常用的文件操作方法,如打开文件、读取文件内容、写入文件等。下面是一个基于IResource()接口实现文件操作的示例代码:

public interface IResource {
    void open(String fileName);
    String read();
    void write(String content);
    void close();
}

public class FileResource implements IResource {
    private String fileName;
    private File file;
    private BufferedReader reader;
    private BufferedWriter writer;

    @Override
    public void open(String fileName) {
        this.fileName = fileName;
        try {
            file = new File(fileName);
            reader = new BufferedReader(new FileReader(file));
            writer = new BufferedWriter(new FileWriter(file, true));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    @Override
    public String read() {
        StringBuilder content = new StringBuilder();
        try {
            String line;
            while ((line = reader.readLine()) != null) {
                content.append(line).append("
");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return content.toString();
    }

    @Override
    public void write(String content) {
        try {
            writer.write(content);
            writer.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    @Override
    public void close() {
        try {
            reader.close();
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

public class FileExample {
    public static void main(String[] args) {
        IResource resource = new FileResource();
        resource.open("example.txt");

        // 读取文件内容
        String content = resource.read();
        System.out.println("文件内容:
" + content);

        // 写入文件内容
        String newContent = "Hello, World!";
        resource.write(newContent);
        System.out.println("写入文件内容成功!");

        // 重新读取文件内容
        content = resource.read();
        System.out.println("文件内容:
" + content);

        resource.close();
    }
}

上述代码中,IResource是文件操作的接口,FileResourceIResource接口的实现类,负责具体的文件操作。FileExample是一个使用示例,演示了如何使用FileResource类进行文件操作。

FileExamplemain方法中,首先创建一个FileResource对象,然后调用open方法打开一个文件(此处假设存在名为example.txt的文件)。接下来,调用read方法读取文件内容,并将读取到的内容打印出来。然后,调用write方法写入新的内容到文件中。再次调用read方法,可以看到文件内容已经被更新。最后,调用close方法关闭文件资源。

这是一个简单的基于IResource接口实现文件操作的示例,通过使用这个示例代码,我们可以方便地进行文件的打开、读取和写入操作。