⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 reversefile.java

📁 是内存受限系统设计的代码。
💻 JAVA
字号:
 
/* ***************************************************
   Data Chaining Example.  
   Reversing a text file
   ***************************************************
   */

import  java.io.*;

class ReverseFile
    // Reverses each line in a file
{
    private final int SubfileSize = 10;
    public static void main(String args[])
    {
        try {
            ReverseFile self=new ReverseFile();
            self.run();
        }
        catch (IOException ex) {
            System.err.print(ex);
            System.exit(-1);
        }

        System.out.println("ReverseFile completed");
    }

    public void run() throws IOException {
        scatter(new BufferedReader(new InputStreamReader(System.in)));
        gather(new BufferedWriter(new OutputStreamWriter(System.out)));
    }

    protected void scatter(BufferedReader reader) throws IOException {
        int bytesRead;
        while ((bytesRead = reader.read(buffer, 0, SubfileSize)) > 0) {

            StringBuffer stringBuffer = new StringBuffer(bytesRead);
            stringBuffer.append(buffer, 0, bytesRead);
            stringBuffer.reverse();

            BufferedWriter writer = 
                new BufferedWriter(new FileWriter(subfileName(nSubfiles)));
            writer.write(stringBuffer.toString());
            writer.close();
            nSubfiles++;
        }
    }
    
    protected void gather(BufferedWriter writer) throws IOException {

        for (nSubfiles--; nSubfiles >= 0; nSubfiles--)
            {
                File subFile = new File(subfileName(nSubfiles));
                BufferedReader reader = new BufferedReader(new FileReader(subFile));
                int bytesRead = reader.read(buffer, 0, SubfileSize);
                writer.write(buffer, 0, bytesRead);
                reader.close();
                subFile.delete();
            }
        writer.close();
    }

    protected String subfileName(int n) {
        return "subxx" + n;
    }

    protected int nSubfiles = 0;
    protected char buffer[] = new char[SubfileSize];
};


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -