当前位置: 首页 > 知识库问答 >
问题:

核心Java Filemanager与索引,允许我们竞争下列东西

白才捷
2023-03-14

帮我弄清楚这个.......如何获得使用核心Java概念的带有索引的文件列表?例如,一个文件夹可能包含文件、子文件夹和文件。

----输出---

输入路径:e:/gk/demo

1.work

  1.1 examples

        1.1.1 math.java
        1.1.2 math.class
        !!
        !!

        !!
  1.2 practice

        1.2.1 .....extensions.
1.2.6.3 means 1st folder and 2nd subfolder in the main folder 1and 6th is the subfolder of 2nd sub folder and so on......

文件夹的树表示

%1(主文件夹)

 |------->2(sub folder)
      |
      |-------->6(sub folder of 2)
                  |
                  |------------>3
n.1 

        n.1 file1
        n.2 subfolder..
        n.2.1 file1.
        n.2.2 file2.

\\菜单:////

>

  • copy(已提及通过取索引复制文件)

    删除(通过取索引删除文件已经提到)

    重命名(已提及通过取索引来重命名文件)

    退出。

    我试过的代码是..重命名索引..是..

    导入java.io.file;

    导入java.io.*;

    导入java.util.*;

    导入java.lang.String;

    公共类重命名索引

    {

    public void renameIndex(HashMap<String, String> hash)
    
    {
    
        try
    
        {
            BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
    
            System.out.print("Please enter the index to be renamed : ");
    
            String old_name = buffer.readLine();
    

    /**********************************************************************************************************************************

            for(int i=0;i<index.length;i++)
            {
                Object object = hash.get(index[i]);
                String string = (String)object;
                File oldfile = new File(string);
    
                System.out.println(index[i]+"\n"+oldfile.getName());
                System.out.println("index length is:"+index.length);
    

    /*************************************************************************/

                if(!oldfile.exists())
                {
                    System.out.println("File or directory does not exist.");
                }
                else
                {
                    /*********************************************************/
                    if(i<index.length)
                    {
                        if(oldfile.isFile())
                        {
                            String path = oldfile.getParent();
                            System.out.print("please enter the new file or directory name : ");
                            String name = buffer.readLine();
                            String newname = path + "/" + name;
                            File newfile = new File(newname);
                            System.out.println("Old File or directory name : " + oldfile);
                            System.out.println("New File or directory name : " + newfile);
                            boolean Rename = oldfile.renameTo(newfile);
    
                            if(!Rename)
                            {
                                System.out.println("File or directory does not rename successfully.");
                            }
                            else
                            {
                                System.out.println("File or directory rename is successfully.");
                            }
    
                            System.out.println("This is file");
                        }
                        else if(oldfile.isDirectory())
                        {
                            if(i+1==index.length)
                            {
                                String path = oldfile.getParent();
                                System.out.print("please enter the new file or directory name : ");
                                String name = buffer.readLine();
                                String newname = path + "/" + name;
                                File newfile = new File(newname);
                                System.out.println("Old File or directory name : " + oldfile);
                                System.out.println("New File or directory name : " + newfile);
                                boolean Rename = oldfile.renameTo(newfile);
    
                                if(!Rename)
                                {   
                                    System.out.println("File or directory does not rename successfully.");
                                }
                                else
                                {
                                System.out.println("File or directory rename is successfully.");
    
                                }
                            }
    

    /***************子目录和文件**********/else{system.out.println(“这是子目录”);}}}

                /*********************************************************/
    
                }
            }//for ending
        }
    
        catch(NullPointerException e)
        {
            System.out.println("No file name is existed"+e);
        }
    
        catch(IOException ioe)
        {
            System.out.println("No file name is existed"+ioe);
        }
    }
    

    }

  • 共有1个答案

    贺亦
    2023-03-14

    我原以为这会是一个容易的答案,但花的时间比我想象的要长。

    下面的代码是在Java处理中编写的,所以首先是构造函数,然后是void setup(),然后就是这样!

    ArrayList directoryListing = new ArrayList();
    
    void crawler( String indexer, String path) {
      File[] listFiles = new File(path).listFiles(); 
      for (int i = 0; i < listFiles.length; i++) {
        directoryListing.add(indexer+""+i+".\t"+listFiles[i].getAbsoluteFile().toString());
      }
    }
    
    void setup() {
      crawler("", "C:/Temp/MKV Extract");
      int j=0;
      while (j < directoryListing.size ()) {      
        String[] list = split(directoryListing.get(j++).toString(), "\t");
        if (new File(list[1]).isDirectory()) {
          crawler(list[0], list[1]);
        }
      }
    
      for (int i = 0; i < directoryListing.size(); i++) {
        println(directoryListing.get(i).toString());
      }
      exit();
    }
    

    结果是:

    0.  C:\Temp\MKV Extract\!!ReadMeFirst!!.txt
    1.  C:\Temp\MKV Extract\base64tool.exe
    2.  C:\Temp\MKV Extract\cmd.bat
    3.  C:\Temp\MKV Extract\cygz.dll
    4.  C:\Temp\MKV Extract\doc
    5.  C:\Temp\MKV Extract\examples
    6.  C:\Temp\MKV Extract\extract.bat
    7.  C:\Temp\MKV Extract\Formats.txt
    8.  C:\Temp\MKV Extract\libcharset.dll
    9.  C:\Temp\MKV Extract\libebml.dll
    10. C:\Temp\MKV Extract\libiconv.dll
    11. C:\Temp\MKV Extract\libmatroska.dll
    12. C:\Temp\MKV Extract\matroskalogo_big.ico
    13. C:\Temp\MKV Extract\MKVextGUI.cfg
    14. C:\Temp\MKV Extract\mkvextract.exe
    15. C:\Temp\MKV Extract\MKVextractGUI.exe
    16. C:\Temp\MKV Extract\mkvinfo.exe
    17. C:\Temp\MKV Extract\mkvmerge.exe
    18. C:\Temp\MKV Extract\mkxuncat.exe
    19. C:\Temp\MKV Extract\mmg.exe
    20. C:\Temp\MKV Extract\wxbase253u_gcc_custom.dll
    21. C:\Temp\MKV Extract\wxmsw253u_core_gcc_custom.dll
    22. C:\Temp\MKV Extract\wxmsw253u_html_gcc_custom.dll
    4.0.    C:\Temp\MKV Extract\doc\base64tool.html
    4.1.    C:\Temp\MKV Extract\doc\ChangeLog.txt
    4.2.    C:\Temp\MKV Extract\doc\COPYING.txt
    4.3.    C:\Temp\MKV Extract\doc\images
    4.4.    C:\Temp\MKV Extract\doc\mkvextract.html
    4.5.    C:\Temp\MKV Extract\doc\mkvinfo.html
    4.6.    C:\Temp\MKV Extract\doc\mkvmerge-gui.hhc
    4.7.    C:\Temp\MKV Extract\doc\mkvmerge-gui.hhk
    4.8.    C:\Temp\MKV Extract\doc\mkvmerge-gui.hhp
    4.9.    C:\Temp\MKV Extract\doc\mkvmerge-gui.html
    4.10.   C:\Temp\MKV Extract\doc\mkvmerge.html
    4.11.   C:\Temp\MKV Extract\doc\mmg.html
    4.12.   C:\Temp\MKV Extract\doc\README.txt
    4.13.   C:\Temp\MKV Extract\doc\README.Windows.txt
    5.0.    C:\Temp\MKV Extract\examples\example-chapters-1.xml
    5.1.    C:\Temp\MKV Extract\examples\example-chapters-2.xml
    5.2.    C:\Temp\MKV Extract\examples\example-cue-sheet-1.cue
    5.3.    C:\Temp\MKV Extract\examples\example-tags-2.xml
    5.4.    C:\Temp\MKV Extract\examples\example-timecodes-v1.txt
    5.5.    C:\Temp\MKV Extract\examples\example-timecodes-v2.txt
    5.6.    C:\Temp\MKV Extract\examples\matroskachapters.dtd
    5.7.    C:\Temp\MKV Extract\examples\matroskatags.dtd
    4.3.0.  C:\Temp\MKV Extract\doc\images\addingremovingattachments.gif
    4.3.1.  C:\Temp\MKV Extract\doc\images\addremovefiles.gif
    4.3.2.  C:\Temp\MKV Extract\doc\images\attachmentoptions.gif
    4.3.3.  C:\Temp\MKV Extract\doc\images\audiotrackoptions.gif
    4.3.4.  C:\Temp\MKV Extract\doc\images\chaptereditor.gif
    4.3.5.  C:\Temp\MKV Extract\doc\images\jobmanager.gif
    4.3.6.  C:\Temp\MKV Extract\doc\images\movietitle.gif
    4.3.7.  C:\Temp\MKV Extract\doc\images\muxingwindow.gif
    4.3.8.  C:\Temp\MKV Extract\doc\images\selectmkvmergeexecutable.gif
    4.3.9.  C:\Temp\MKV Extract\doc\images\splitting.gif
    4.3.10. C:\Temp\MKV Extract\doc\images\textsubtitlestrackoptions.gif
    4.3.11. C:\Temp\MKV Extract\doc\images\trackselection.gif
    4.3.12. C:\Temp\MKV Extract\doc\images\videotrackoptions.gif
    

    经过编辑后,代码现在变短了。

     类似资料:
    • 本文向大家介绍你觉得软件测试的核心竞争力是什么相关面试题,主要包含被问及你觉得软件测试的核心竞争力是什么时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 测试人员的核心竞争力在于提早发现问题,并能够发现别人无法发现的问题。 1、早发现问题:问题发现的越早,解决的成本越低。如果一个需求在还未实现的时候就能发现需求的漏洞,那么这种问题的价值是最高的。 2、发现别人无法发现的问题:所有人都能发现的

    • 主要内容:消除方法,实例,实例,实例,Verilog 书写规范,实例,实例关键字:竞争,冒险,书写规范 产生原因 数字电路中,信号传输与状态变换时都会有一定的延时。 在组合逻辑电路中,不同路径的输入信号变化传输到同一点门级电路时,在时间上有先有后,这种先后所形成的时间差称为竞争(Competition)。 由于竞争的存在,输出信号需要经过一段时间才能达到期望状态,过渡时间内可能产生瞬间的错误输出,例如尖峰脉冲。这种现象被称为冒险(Hazard)。 竞争不一定有冒险,但冒

    • .NET核心和ASP.NET核心到底有什么区别?

    • 9.1. 竞争条件 在一个线性(就是说只有一个goroutine的)的程序中,程序的执行顺序只由程序的逻辑来决定。例如,我们有一段语句序列,第一个在第二个之前(废话),以此类推。在有两个或更多goroutine的程序中,每一个goroutine内的语句也是按照既定的顺序去执行的,但是一般情况下我们没法去知道分别位于两个goroutine的事件x和y的执行顺序,x是在y之前还是之后还是同时发生是没法

    • 本文向大家介绍允许多个索引器参数?相关面试题,主要包含被问及允许多个索引器参数?时的应答技巧和注意事项,需要的朋友参考一下 参数的个数和类型都是任意的。加分的补充回答:用reflector反编译可以看出,索引器的内部本质上就是set_item、get_item方法。 基础知识: 索引的语法: public string this[string s],通过get、set块来定义取值、赋值的逻辑 索引

    • 19.2 核心与核心模块 谈完了整个开机的流程,您应该会知道,在整个开机的过程当中,是否能够成功的驱动我们主机的硬件配备, 是核心 (kernel) 的工作!而核心一般都是压缩文件,因此在使用核心之前,就得要将他解压缩后,才能载入内存当中。 另外,为了应付日新月异的硬件,目前的核心都是具有“可读取模块化驱动程序”的功能, 亦即是所谓的“ modules (模块化)”的功能啦!所谓的模块化可以将他想