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

📄 filesorter.java

📁 基于Eclipse RCP模型下的文档管理程序源代码
💻 JAVA
字号:
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) 
// Source File Name:   FileSorter.java

package fileexplorer.views;

import java.io.File;
import java.text.DateFormat;
import java.util.Date;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerSorter;
import org.eclipse.swt.program.Program;

public class FileSorter extends ViewerSorter
{

    private FileSorter()
    {
        dateFormat = DateFormat.getDateTimeInstance(2, 2);
    }

    public FileSorter(int sortType)
    {
        dateFormat = DateFormat.getDateTimeInstance(2, 2);
        this.sortType = sortType;
    }

    public int compare(Viewer viewer, Object obj1, Object obj2)
    {
        File f1 = (File)obj1;
        File f2 = (File)obj2;
        switch(sortType)
        {
        case 1: // '\001'
        {
            String l1 = f1.getName();
            String l2 = f2.getName();
            return l1.compareTo(l2);
        }

        case -1: 
        {
            String l1 = f1.getName();
            String l2 = f2.getName();
            return l2.compareTo(l1);
        }

        case 2: // '\002'
        {
            Long s1 = Long.valueOf(f1.length());
            Long s2 = Long.valueOf(f2.length());
            return s1.compareTo(s2);
        }

        case -2: 
        {
            Long s1 = Long.valueOf(f1.length());
            Long s2 = Long.valueOf(f2.length());
            return s2.compareTo(s1);
        }

        case 3: // '\003'
        {
            String s1 = getfiletype(f1);
            String s2 = getfiletype(f2);
            return s1.compareTo(s2);
        }

        case -3: 
        {
            String s1 = getfiletype(f1);
            String s2 = getfiletype(f2);
            return s2.compareTo(s1);
        }

        case 4: // '\004'
        {
            String s1 = dateFormat.format(new Date(f1.lastModified()));
            String s2 = dateFormat.format(new Date(f2.lastModified()));
            return s1.compareTo(s2);
        }

        case -4: 
        {
            String s1 = dateFormat.format(new Date(f1.lastModified()));
            String s2 = dateFormat.format(new Date(f2.lastModified()));
            return s2.compareTo(s1);
        }

        case 5: // '\005'
        {
            String s1 = f1.getAbsolutePath();
            String s2 = f2.getAbsolutePath();
            return s1.compareTo(s2);
        }

        case -5: 
        {
            String s1 = f1.getAbsolutePath();
            String s2 = f2.getAbsolutePath();
            return s2.compareTo(s1);
        }

        case 0: // '\0'
        default:
        {
            return 0;
        }
        }
    }

    public String getfiletype(Object element)
    {
        File file = (File)element;
        if(file.isDirectory())
            return "\u6587\u4EF6\u5939";
        if(file.isFile())
        {
            int dotPos = file.getName().lastIndexOf('.');
            if(dotPos != -1)
            {
                String extension = file.getName().substring(dotPos);
                Program program = Program.findProgram(extension);
                if(program != null)
                    return program.getName().toString();
                else
                    return extension.toUpperCase();
            } else
            {
                return "Unknown";
            }
        } else
        {
            return "";
        }
    }

    public static final int FILENAME = 1;
    public static final int FILESIZE = 2;
    public static final int FILETYPR = 3;
    public static final int FILEDATE = 4;
    public static final int FILEPATH = 5;
    private DateFormat dateFormat;
    private int sortType;
}

⌨️ 快捷键说明

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