精华内容
下载资源
问答
  • 1. 模仿Windows的文件资源管理器对本机的文件目录树的显示,对文件目录进行查看和浏览,用地址栏、文件目录树、打开文件夹等方法都可以在文件目录之间进行跳转 2. 对文件的基本操作:打开、删除、批量删除、重命名、...
  • 此命令启动 Windows 资源管理器选定“C:\Windows\Cursors\banana.ani”文件。 备注:请注意命令“/select”参数后面的逗号。 Windows 资源管理器参数可以一个命令进行组合。以下示例显示了 Windows 资源...

    private void OpenFolderAndSelectFile(String fileFullName)
    {
        System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo("Explorer.exe");
        psi.Arguments = "/e,/select," + fileFullName;
        System.Diagnostics.Process.Start(psi);
    }

    参考:

    Windows 资源管理器参数的用法。 

    Explorer /n
    此命令使用默认设置打开一个资源管理器窗口。显示的内容通常是安装 Windows 的驱动器的根目录。
    Explorer /e
    此命令使用默认视图启动 Windows 资源管理器。
    Explorer /e,C:\Windows
    此命令使用默认视图启动 Windows 资源管理器,并把焦点定位在 C:\Windows。
    Explorer /root, C:\Windows\Cursors
    此命令启动 Windows 资源管理器后焦点定位在 C:\Windows\Cursors folder。此示例使用 C:\Windows\Cursors 作为 Windows 资源管理器的“根”目录。
     

    备注:请注意命令中“/root”参数后面的逗号。

    Explorer /select, C:\Windows\Cursors\banana.ani
    此命令启动 Windows 资源管理器后选定“C:\Windows\Cursors\banana.ani”文件。

    备注:请注意命令中“/select”参数后面的逗号。
    Windows 资源管理器参数可以在一个命令中进行组合。以下示例显示了 Windows 资源管理器命令行参数的组合。
    Explorer /root, \\server\share, select, Program.exe
    此命令启动 Windows 资源管理器时以远程共享作为“根”文件夹,而且 Program.exe 文件将被选中。
    回到顶端
    更改 Windows 资源管理器默认启动文件夹
    若要更改 Windows 资源管理器的默认启动文件夹,请:
    单击开始,指向所有程序,指向附件,然后右键单击Windows Explorer。
    在出现的菜单上,单击属性。
    在“目标”框中,将“/root”命令行参数附加到“%SystemRoot%\Explorer.exe”命令之后,并使用您希望的启动位置。例如,如果您希望 Windows 资源管理器启动后定位在 C 驱动器的根,则请将该命令编辑为:
    %SystemRoot%\Explorer.exe /root, C:\

    单击确定。

    Reference: http://support.microsoft.com/kb/307856/zh-cn

    展开全文
  • ④右侧文件/文件夹支持右键菜单,以完成常用的文件/文件夹管理功能(复制、粘贴、删除、剪切、重命名等)。选做需求:支持常用文件类型(文本、图片等)的预览运行截图:源代码:为了方便伙伴们使用,特地截图代码的包...

    JAVA课设的时候,网上百度没有完全符合以下要求的帖子,在拼凑完成课设后,发出来给大家分享大笑

    必做需求:①左侧以树形结构列出本机文件系统,根为“我的电脑”;②点击左侧结点,右侧 以表格展示其下文件/文件夹,包含文件名、大小、修改日期、文件类型等列;③单击右侧表头可按该列升降排序;④右侧文件/文件夹支持右键菜单,以完成常用的文件/文件夹管理功能(复制、粘贴、删除、剪切、重命名等)。选做需求:支持常用文件类型(文本、图片等)的预览

    运行截图:




    可以右侧表头升降序排列



    源代码:

    为了方便伙伴们使用,特地截图代码的包目录分布:

    1、节点渲染器类 FolderRenderer .java
    package CLASS;
    
    import java.awt.Component;
    
    import javax.swing.Icon;
    
    import javax.swing.JTree;
    
    import javax.swing.filechooser.FileSystemView;
    
    import javax.swing.tree.DefaultMutableTreeNode;
    
    import javax.swing.tree.DefaultTreeCellRenderer;
    
    public class FolderRenderer extends DefaultTreeCellRenderer {  //自定义渲染器类,以描述节点的显示细节,此处的主要作用是渲染图片
    
    private static FileSystemView fsView;
    
        private static final long serialVersionUID = 1L;
    
        //重写父类方法
    
        public Component getTreeCellRendererComponent(JTree tree, Object value,
    
               boolean sel, boolean expanded, boolean leaf, int row,
    
               boolean hasFocus) {//将当前树单元格的值设置为 value。如果 selected 为 true,则将单元格作为已选择的单元格进行绘制。
    
        	//如果 expanded 为 true,则当前扩展该节点,如果 leaf 为 true,则该节点表示叶节点,如果 hasFocus 为 true,则该节点当前拥有焦点。tree 是为其配置接收者的 JTree。返回渲染器用来绘制值的 Component。
    
    fsView = FileSystemView.getFileSystemView();//获取FileSystemView的实例
    
    DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) value;//获取当前节点
    
    NodeData data = (NodeData) selectedNode.getUserObject();//取得节点的用户对象
    
    Icon icon = fsView.getSystemIcon(data.f);//Icon为图片
    
            setLeafIcon(icon);//用于显示叶节点的图标
    
            setOpenIcon(icon);//用于显示扩展的非叶节点的图标
    
            setClosedIcon(icon);//设置用于显示无扩展的非叶节点的图标      
    
            return super.getTreeCellRendererComponent(tree, value, sel, expanded,
    
                  leaf, row, hasFocus);
    
        }
    
    }

     

    2、文件节点类

    package CLASS;
    
    import java.io.File;
    
    public class NodeData//文件节点类
    
    {
    
    public File f;
    
    public String Name;
    
        public NodeData(File f,String Name)
    
    {
    
    this.f = f;
    
    this.Name = Name;
    
    }
    
    public String toString()
    
    {
    
    return Name;
    
    }
    
    public void ChangeString(String s)
    
    {
    
    Name = s;
    
    }
    
    public NodeData(File file) {
    
       this.f = file;
    
      }
    
    }

    3GUI窗口创建和各项处理事件代码

    package ui;
    
     
    
    import java.awt.BorderLayout;
    
    import java.awt.Component;
    
    import java.awt.Dimension;
    
    import java.awt.MenuItem;
    
    import java.awt.Panel;
    
    import java.awt.PopupMenu;
    
    import java.awt.event.ActionEvent;
    
    import java.awt.event.ActionListener;
    
    import java.awt.event.MouseAdapter;
    
    import java.awt.event.MouseEvent;
    
    import java.awt.event.MouseListener;
    
    import java.io.File;
    
    import java.io.FileInputStream;
    
    import java.io.FileOutputStream;
    
    import java.io.IOException;
    
    import java.sql.Date;
    
    import java.text.SimpleDateFormat;
    
     
    
    //
    
    import javax.swing.Icon;
    
    import javax.swing.JDialog;
    
    import javax.swing.JFrame;
    
    import javax.swing.JOptionPane;
    
    import javax.swing.JScrollPane;
    
    import javax.swing.JTable;
    
    import javax.swing.JTextArea;
    
    import javax.swing.JTree;
    
    import javax.swing.SwingUtilities;
    
    import javax.swing.event.TreeModelEvent;
    
    import javax.swing.event.TreeModelListener;
    
    import javax.swing.event.TreeSelectionEvent;
    
    import javax.swing.event.TreeSelectionListener;
    
    import javax.swing.filechooser.FileSystemView;
    
    import javax.swing.table.DefaultTableModel;
    
    import javax.swing.table.TableModel;
    
    import javax.swing.table.TableRowSorter;
    
    import javax.swing.tree.DefaultMutableTreeNode;
    
    import javax.swing.tree.DefaultTreeCellRenderer;
    
    import javax.swing.tree.DefaultTreeModel;
    
    import javax.swing.tree.MutableTreeNode;
    
    import javax.swing.tree.TreePath;
    
    import javax.swing.tree.TreeSelectionModel;
    
     
    
    import CLASS.FolderRenderer;
    
    import CLASS.NodeData;
    
    @SuppressWarnings("unused")
    
    public class MyTree
    
    {
    
    TreePath copyPath;
    
    JFrame jf;
    
    JTree tree;//树结构
    
    JTable table;//表格
    
    Object[][] list = { {} };
    
    DefaultTableModel tableModel;//表格模型
    
    DefaultMutableTreeNode parent;
    
    DefaultTreeModel model;//声明树状视图模型  以指定的模型创建一棵树,DefaultTreeModel自行查阅API
    
    PopupMenu pop = new PopupMenu();//右键弹出菜单
    
    MenuItem deleteItem = new MenuItem("删除");
    
    MenuItem renameItem = new MenuItem("重命名");
    
        MenuItem natrueItem = new MenuItem("属性");
    
        MenuItem copyItem=new MenuItem("复制");
    
        MenuItem pasteItem=new MenuItem("粘贴");
    
    DefaultMutableTreeNode root = new DefaultMutableTreeNode(new NodeData(null,"我的电脑"));//自定义一个名为root的节点,后面作为根节点创建一棵树  NodeData是自定义节点类。
    
    //用于重命名时生成一个原节点的克隆体
    
    DefaultMutableTreeNode aClone;
    
    public void init()
    
    {
    
    jf = new JFrame("文件资源管理器");
    
    jf.setSize(600, 600);
    
    File[] roots = File.listRoots();//获得系统根目录文件  需要获取磁盘中所有的盘符路径:jdk6中一个方法搞定
    
    for(int i = 0;i < roots.length;i++)
    
    {
    
    DefaultMutableTreeNode node = new DefaultMutableTreeNode(new NodeData(roots[i],roots[i].getAbsolutePath()));//NodeDate自定义节点类
    
    root.add(node);//从父节点删除 newChild并将其添加到该节点的子数组的末尾,使其成为该节点的子节点
    
    }
    
    tree = new JTree(root);//以指定的自定义的节点(root)作为根节点创建一棵树  
    
    model = (DefaultTreeModel) tree.getModel();//获取Jtree对应的TreeModel的对象,即获取树的数据模型
    
            tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);//一次只能选中一个节点先返回树的选择模型才能设置树的选择模型   contiguous连续的
    
            // getSelectionModel()返回模型进行选择                           setSelectionMode设置树的选择模型 。
    
            tree.setCellRenderer(new FolderRenderer());//设置使用定制的节点绘制器
    
      String[] row = { "文件名", "类型","最后修改日期", "大小" };
    
      tableModel = new DefaultTableModel(list, row);
    
      table = new JTable(tableModel);
    
      //表格升降序
    
      TableRowSorter<TableModel> sorter = new TableRowSorter(tableModel);
    
      table.setRowSorter(sorter);
    
              JScrollPane scrollTable = new JScrollPane(table);//显示区为table表格的可滚动面板
    
      scrollTable.setPreferredSize(new Dimension(500, 500));
    
      jf.add(BorderLayout.CENTER,scrollTable);//使用边界布局
    
    //e.path() 返回已更改节点的父节点的路径。
    
    //e.childIndices() 返回更改节点的索引。
    
    //当用户完成一个节点的编辑时,这个 model 产生一个 tree model 事件,它会告诉所有监听者(包括 Jtree ):树节点被改变了。注意:尽管 DefaultMutableTreeNode 拥有改变一个节点内容的方法,但是改变还是需要通过 DefaultTreeModel 上面的方法。否则, tree model 事件就不能产生,事件的监听者(例如 tree )就不能知道这些更新。
    
     
    
        //为了通知“节点改变”,我们可以实现一个 TreeModelListener 。这里有一个关于 tree model 监听器的例子,当用户为一个树节点输入一个新名字时,事件会被检测到。
    
            model.addTreeModelListener(new TreeModelListener()
    
    {
    
    public void treeNodesChanged(TreeModelEvent e)//当树的节点改变时就调用这个方法
    
    {
    
        //获得编辑后的节点的父节点
    
    DefaultMutableTreeNode parent = (DefaultMutableTreeNode)(e.getTreePath().getLastPathComponent());//返回从根节点到该节点的路径,在找到树种最后一个选中的节点
    
    DefaultMutableTreeNode node;
    
    try
    
    {
    
    int []index = e.getChildIndices();//返回目前修改点的索引值
    
    node = (DefaultMutableTreeNode)(parent.getChildAt(index[0]));//getChildAt()方法取得修改的節點對象.
    
     
    
    //System.out.println(aClone.toString());
    
    //克隆体更新名称,file不变
    
    ((NodeData)aClone.getUserObject()).ChangeString(node.toString());
    
    //删除选定节点且要求该节点存在父节点
    
    model.removeNodeFromParent(node);
    
    //添加克隆体
    
    model.insertNodeInto(aClone,parent,index[0]);//在父节点的子节点中的 index 处插入aClone
    
    }
    
    catch (NullPointerException exc) //點選的節點為root node,則getChildIndices()的返回值為null,root node產生的NullPointerException問題.
    
     
    
    {
    
    System.out.println("model error");
    
    }
    
    //系统实现改名
    
    NodeData data = (NodeData) aClone.getUserObject();
    
    String tt = data.f.getParent() + "//";
    
    tt = tt + aClone.toString();
    
    File newfile = new File(tt);
    
    data.f.renameTo(newfile);//将文件改名为 指定的名字
    
    data.f = newfile;
    
    return;
    
    }
    
    public   void   treeStructureChanged(TreeModelEvent   e){}   //当树的结构改变时就调用这个方法
    
                public   void   treeNodesRemoved(TreeModelEvent   e){}  // 当属的节点删除时就调用这个方法
    
                public   void   treeNodesInserted(TreeModelEvent   e){} //当树的节点添加时就调用这个方法  
    
    });
    
    //为pop添加菜单项
    
    pop.add(deleteItem);
    
    pop.addSeparator();
    
    pop.add(renameItem);
    
    pop.addSeparator();
    
    pop.add(copyItem);
    
    pop.addSeparator();
    
    pop.add(pasteItem);
    
    pop.addSeparator();
    
            pop.add(natrueItem);
    
      
    
    //属性功能       
    
            natrueItem.addActionListener(new ActionListener()
    
            {               //属性功能
    
                       public void actionPerformed(ActionEvent event){
    
                       JDialog subDialog;                                                    
    
                       subDialog=new JDialog(jf,"属性");
    
                       subDialog.setVisible(true);
    
                       subDialog.setSize(400,400);                            
    
                       JTextArea text=new JTextArea();
    
                       subDialog.getContentPane().add(text);  
    
                       TreePath tp=tree.getSelectionPath();//得到树状视图的被选择节点路径
    
               String fullPath="";//得到被选择节点对应文件的完整路径信息
    
               for(Object obj:tp.getPath())
    
                       {
    
              String str=obj.toString();
    
                      if(str.endsWith("\\"))//处理盘符根目录问题
    
                              str=str.substring(0,str.length()-1);
    
                              if(fullPath.equals(""))
    
                                  fullPath+=str;
    
                          else     
    
                                  fullPath+="\\"+str;
    
                       }
    
               int n=fullPath.indexOf("脑");
    
               String sp=fullPath.substring(n+2);                              
    
                   File currentFile=new File(sp);                           
    
                       StringBuffer sb=new StringBuffer();                              
    
                       if(currentFile.isDirectory())
    
                           sb.append("文件夹路径:"+currentFile.getAbsolutePath()+"\n");                                  
    
                       else
    
                           sb.append("文件路径:"+currentFile.getAbsolutePath()+"\n");
    
                           sb.append("是否可读"+currentFile.canRead()+"\n");
    
                           sb.append("是否可写"+currentFile.canWrite()+"\n");
    
                       if(!currentFile.isDirectory())
    
                           sb.append("文件的长度:"+currentFile.length()/(1024*1024)+"M\n");
    
                           SimpleDateFormat s=new SimpleDateFormat("yyyy年MM年dd日HH小时mm分钟ss秒");
    
                           sb.append("文件上次修改的时间:"+s.format(new Date(currentFile.lastModified()))+"\n");
    
                           sb.append("文件是否被隐藏:"+currentFile.isHidden()+"\n");                        
    
                           text.setText(sb.toString());
    
                          }                       
    
                     });
    
    //菜单项deleteItem的动作侦听器
    
    deleteItem.addActionListener(new ActionListener()
    
    {
    
    public void actionPerformed(ActionEvent event)
    
    {
    
    //获取选中节点
    
    DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
    
    if(selectedNode == null)
    
    return;
    
    //获得节点数据
    
    NodeData data = (NodeData) selectedNode.getUserObject();
    
    //显示是否删除的确认对话框
    
    int n = JOptionPane.showConfirmDialog(tree,"确认删除吗?","确认对话框",JOptionPane.YES_NO_OPTION);
    
    if(n == JOptionPane.NO_OPTION)
    
    return;
    
    //如果该节点是文件
    
    if(selectedNode == root)
    
    {
    
    JOptionPane.showMessageDialog(tree,"本地磁盘不能被删除","警告对话框",JOptionPane.WARNING_MESSAGE);
    
    return;
    
    }
    
    else if(data.f.isFile())
    
    {
    
    //删除文件
    
    delFile(data.f.getAbsolutePath());
    
    }
    
    else if(data.f.isDirectory())
    
    {
    
    //删除文件夹
    
    if(selectedNode.getParent() != root)
    
    delFolder(data.f.getAbsolutePath());
    
    else
    
    {
    
    JOptionPane.showMessageDialog(tree,"本地磁盘不能被删除","警告对话框",JOptionPane.WARNING_MESSAGE);
    
    return;
    
    }
    
    }
    
    //处理树节点的删除
    
    model.removeNodeFromParent(selectedNode);
    
    }
    
    });
    
    //菜单项renameItem的动作监控器
    
    renameItem.addActionListener(new ActionListener()
    
    {
    
    public void actionPerformed(ActionEvent event)
    
    {
    
    //设置可编辑
    
    tree.setEditable(true);
    
    //获取选中节点
    
    DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
    
    TreePath editPath = tree.getSelectionPath();//得到被选择节点的路径
    
    if(selectedNode == null)
    
    return;
    
    //开始编辑
    
    tree.startEditingAtPath(editPath);//选择路径中的最后一个项并试着编辑它
    
    //修改节点监控器,保存节点新名字
    
    aClone = (DefaultMutableTreeNode) selectedNode.clone();
    
    }
    
    });
    
    //菜单项copyItem的动作监听器
    
    copyItem.addActionListener(new ActionListener() {
    
    @Override
    
    public void actionPerformed(ActionEvent e) {
    
    //设置可编辑
    
    tree.setEditable(true);
    
    //获取选中节点
    
    DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
    
    copyPath = tree.getSelectionPath();//得到被复制节点的路径
    
    }
    
    });
    
        final Panel p = new Panel();
    
    //向窗口添加PopupMenu对象
    
    jf.add(pop);
    
    //节点的鼠标事件监视器
    
    MouseListener ml = new MouseAdapter()
    
    {
    
    public void mousePressed(MouseEvent e)//单右键单击时,也选中
    
    {
    
    TreePath tp = tree.getPathForLocation(e.getX(),e.getY()); //返回指定节点的完整的信息
    
    if(tp == null)
    
    return;
    
    tree.setSelectionPath(tp); //选中节点选择指定路径标识的节点
    
    //如果是右键点击,则不必考虑展开
    
    if(SwingUtilities.isRightMouseButton(e))
    
    return;
    
    //如果是左键点击,就展开或者合上
    
                    if(tree.isExpanded(tp))//由Path所确定的节点被展开,则返回true
    
                    {   
    
                        tree.collapsePath(tp);//将Path所确定的节点收缩,并保证可见
    
                    }   
    
                    else   
    
                    {   
    
                        tree.expandPath(tp);   //将Path所确定的节点展开,并保证可见
    
                    }
    
    }
    
    public void mouseClicked(MouseEvent e)
    
    {
    
    if(e.getClickCount() >= 2)//如果连击
    
    {
    
    TreePath tp = tree.getPathForLocation(e.getX(),e.getY());
    
    if(tp != null)
    
    {
    
    DefaultMutableTreeNode temp = (DefaultMutableTreeNode) tp.getLastPathComponent();//获得选中节点
    
    if(temp == null)
    
    return;
    
    //如果节点名被改变了,节点数据自动被改成String型的,而不再是NodeData型的
    
    if(temp.getUserObject() == temp.getUserObject().toString())
    
    {
    
    System.out.println("Object of getUserObject() has been changed");
    
    return;
    
    }
    
    NodeData data = (NodeData) temp.getUserObject();//获得数据节点
    
    if(tp != null && data.f.isFile())//如果是可执行文件
    
    {
    
    try
    
    {
    
    //调用具体命令行功能的程序,根据命令行格式加上文件名
    
    Runtime ce = Runtime.getRuntime();
    
    String Temp = new String(data.f.getParent());
    
    Temp = Temp + "//";
    
    Temp = Temp + data.f.getName();
    
    String cmdarray = "cmd /c start " + Temp;
    
    ce.exec(cmdarray);
    
    }
    
    catch(Exception ee)
    
    {
    
    System.out.println(ee);
    
    }
    
    }
    
    }
    
    }
    
    }
    
    public void mouseReleased(MouseEvent e)//鼠标松开时,如果是右击,则显示右击菜单
    
    {
    
    if(e.isPopupTrigger())//测试是否这个事件将引起一个弹出式菜单在平台中探出
    
    {
    
    TreePath tp = tree.getPathForLocation(e.getX(),e.getY());
    
    //如果右击节点
    
    if(tp == null)
    
    return;
    
    pop.show(tree,e.getX(),e.getY());
    
    }
    
    }
    
    };
    
    tree.addMouseListener(ml);
    
    //节点选中事件监视器   事件监听器作为匿名内部类
    
    tree.addTreeSelectionListener(new TreeSelectionListener()//节点选中事件监视器 添加 TreeSelection事件的监听器。
    
    {
    
    //重写接口方法valueChanged  每当选择的值更改时调用
    
        public void valueChanged(TreeSelectionEvent e)
    
    {
    
            TreePath movepath = (TreePath)e.getNewLeadSelectionPath();//返回当前前导路径
    
    //如果节点被菜单选项deleteItem删除了,就会返回null,此时什么都不做,返回即可
    
    if(movepath == null)
    
    return;
    
    DefaultMutableTreeNode temp = (DefaultMutableTreeNode) movepath.getLastPathComponent();//获得选中节点
    
    if(temp == null)
    
    return;
    
    //---------------------非常关键的一个判断--------------------
    
    //如果节点名被改变了,节点数据自动被改成String型的,而不再是NodeData型的
    
    if(temp.getUserObject() == temp.getUserObject().toString())
    
    {
    
    DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
    
    //测试是否进来
    
    System.out.println(aClone.toString());
    
    DefaultMutableTreeNode parent = (DefaultMutableTreeNode) selectedNode.getParent();
    
    int selectedIndex = parent.getIndex(selectedNode);
    
    System.out.println("Object of getUserObject() has been changed");
    
    //克隆体更新名称,file不变
    
    ((NodeData)aClone.getUserObject()).ChangeString(selectedNode.toString());
    
    //删除选定节点
    
    model.removeNodeFromParent(selectedNode);
    
    //添加克隆体
    
    model.insertNodeInto(aClone,parent,selectedIndex + 1);
    
    //系统实现改名
    
    NodeData data = (NodeData) aClone.getUserObject();
    
    String tt = data.f.getParent() + "//";
    
    tt = tt + aClone.toString();
    
    data.f.renameTo(new File(tt));
    
    //设置选中节点,避免重复触发该控制流
    
    tree.setSelectionRow(selectedIndex + 1);
    
                        return;
    
    }
    
    NodeData data = (NodeData) temp.getUserObject();//获得数据节点
    
                    if(data.f != null)
    
    {
    
    //处理初次选中后快速添加新子节点代表新的文件
    
    if(data.f.isDirectory() && temp.isLeaf())//如果是目录,但目前还是叶节点,那么就添加
    
    {
    
    File[] RRoots = data.f.listFiles();
    
    for(int j = 0;j < RRoots.length;j ++)
    
    {
    
    DefaultMutableTreeNode NNode = new DefaultMutableTreeNode(new NodeData(RRoots[j],RRoots[j].getName()));
    
    model.insertNodeInto(NNode,temp,temp.getChildCount());//添加新节点并自动刷新
    
    }
    
    //实时表格构造
    
    tableModel.setRowCount(0);
    
    list = fu(RRoots);//在fu方法中进行表格list的赋值
    
        	     for (int i = 0; i < RRoots.length; i++) {
    
        	      tableModel.addRow(list[i]);
    
        	     }
    
    }
    
    else if(data.f.isFile())//如果是文件
    
    {}
    
                    }
    
    else
    
    {
    
    System.out.println("无法获得选中的节点");
    
    }
    
       }	    
    
    });
    
    JScrollPane scrollTree = new JScrollPane(tree);//显示区为table表格的可滚动面板
    
    scrollTree.setPreferredSize(new Dimension(200, 300));
    
    jf.add(BorderLayout.WEST,scrollTree);//显示区为tree的可滚动面板
    
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    jf.setVisible(true);
    
    }
    
    //**************************************************************************************************************************************************************************
    
    //读取所选节点,获取子节点
    
     public void readfiles(File file, DefaultMutableTreeNode node) {
    
      File list[] = file.listFiles();
    
      if (list == null)
    
       return;
    
      for (int i = 0; i < list.length; i++) {
    
       File file_inlist = list[i];
    
       // String filename = file_inlist.getName();
    
       if (file_inlist.isDirectory()) {
    
        parent = new DefaultMutableTreeNode(new NodeData(file_inlist));
    
        // 添加空白文件夹节点 使子节点显示为文件夹
    
        File stubadd = null;
    
        DefaultMutableTreeNode stub = new DefaultMutableTreeNode(
    
          stubadd);
    
        parent.add(stub);
    
        node.add(parent);
    
       } else {
    
        DefaultMutableTreeNode son = new DefaultMutableTreeNode(
    
          new NodeData(file_inlist));
    
        node.add(son);
    
       }
    
      }
    
     }
    
    //读取文件的大小
    
     public String size(File file) throws IOException {
    
    //	  FileInputStream fileLength = new FileInputStream(file);
    
      String sizefile = file.length() + "字节";
    
      return sizefile;
    
     }
    
       // 取得最后一次修改的时间
    
     public Date lastTime(File file) {
    
      long lastModified = file.lastModified();
    
      Date date = new Date(lastModified);
    
      date.setTime(lastModified);
    
      return date;
    
     }
    
    public Object[][] fu(File[] file) {
    
     
    
      Object[][] m = new Object[file.length][4];
    
      for (int i = 0; i < file.length; i++) {
    
       m[i][0] = file[i].getName();
    
       // 这里有问题,如果是目录,怎么取大小?所以要用if
    
    // m[i][1] = size(file[i]);
    
    if (file[i].isDirectory()) {
    
     m[i][1] = "文件夹";
    
    } else {
    
    String fileName = file[i].getName();
    
    String fileType = fileName.substring(fileName.lastIndexOf(".") + 1, fileName.length());
    
     
    
    m[i][1] = fileType;
    
    }
    
       //文件最后修改时间
    
       m[i][2] = lastTime(file[i]);
    
       //文件大小
    
       try {
    
        // 这里有问题,如果是目录,怎么取大小?所以要用if
    
        // m[i][1] = size(file[i]);
    
        if (file[i].isDirectory()) {
    
         m[i][3] = "文件夹类型大小待定";
    
        } else {
    
         m[i][3] = size(file[i]);
    
        }
    
          
    
       } catch (IOException e) {
    
        // TODO 自动生成 catch 块
    
        e.printStackTrace();
    
       }
    
       
    
      }
    
      return m;
    
     }
    
     
    
    public  void  delFile(String  filePathAndName)  {  //删除文件
    
    try  
    
    {  
    
    String  filePath  =  filePathAndName;  
    
    filePath  =  filePath.toString();  
    
    java.io.File  myDelFile  =  new  java.io.File(filePath);  
    
    myDelFile.delete();  
    
    }  
    
    catch  (Exception  e)  
    
    {  
    
    System.out.println("删除文件操作出错");  
    
     
    
    }  
    
    }  
    
    public  void  delFolder(String  folderPath)  {  //删除文件夹
    
    try  
    
    {  
    
    delAllFile(folderPath);  //删除完里面所有内容  
    
    String  filePath  =  folderPath;  
    
    filePath  =  filePath.toString();  
    
    java.io.File  myFilePath  =  new  java.io.File(filePath);  
    
    myFilePath.delete();  //删除空文件夹  
    
    }  
    
    catch  (Exception  e)  {  
    
    System.out.println("删除文件夹操作出错");  
    
    //e.printStackTrace();  
    
    }  
    
    }  
    
    public  void  delAllFile(String  path)  {  //删除文件夹里面的所有文件  
    
    File  file  =  new  File(path);  
    
    if  (!file.exists())  {  
    
    return;  
    
    }  
    
    if  (!file.isDirectory())  {  
    
    return;  
    
    }  
    
    String[]  tempList  =  file.list();  
    
    File  temp  =  null;  
    
    for  (int  i  =  0;  i  <  tempList.length;  i++)  {  
    
    if  (path.endsWith(File.separator))  {  
    
    temp  =  new  File(path  +  tempList[i]);  
    
    }  
    
    else  
    
    {  
    
    temp  =  new  File(path  +  File.separator  +  tempList[i]);  
    
    }  
    
    if  (temp.isFile())  {  
    
    temp.delete();  
    
    }  
    
    if  (temp.isDirectory())  {  
    
    delAllFile(path+"/"+  tempList[i]);//先删除文件夹里面的文件  
    
    delFolder(path+"/"+  tempList[i]);//再删除空文件夹  
    
    }  
    
    }  
    
    }  
    
     
    
    public void copyfile(String source,String dest)//文件复制方法
    
    {
    
    try{
    
    File in=new File(source);
    
    File out=new File(dest);
    
    FileInputStream inFile=new FileInputStream(in);
    
    FileOutputStream outFile=new FileOutputStream(out);
    
    byte[] buffere=new byte[1024];
    
    int i=0;
    
    while((i=inFile.read(buffere))!=-1)
    
    {    
    
    outFile.write(buffere,0,i);
    
    }
    
    inFile.close();
    
    outFile.close();
    
    }
    
    catch(Exception e)
    
    {
    
    e.printStackTrace();
    
    }
    
    }
    
    public void copyDict(String source,String dest)
    
    {
    
     String source1;String dest1;
    
     File[] file=(new File(source).listFiles());
    
     for(int i=0;i<file.length;i++)
    
     {
    
     System.out.println(file[i]);
    
     source1=source+"\\"+file[i].getName();
    
     dest1=dest+"\\"+file[i].getName();
    
     }
    
     for(int i=0;i<file.length;i++){
    
     if(file[i].isFile())
    
     {
    
     System.out.println(file[i]);
    
     source1=source+"\\"+file[i].getName();
    
     dest1=dest+"\\"+file[i].getName();
    
     try{
    
     File in=new File(source1);
    
     File out=new File(dest1);
    
     FileInputStream inFile=new FileInputStream(in);
    
     FileOutputStream outFile=new FileOutputStream(out);
    
     byte[] buffer=new byte[1024];
    
     int j=0;
    
     while((j=inFile.read(buffer))!=-1)
    
     {
    
     outFile.write(buffer,0,j);
    
     }
    
     inFile.close();
    
     outFile.close();
    
     }
    
     catch(Exception e)
    
     {
    
     e.printStackTrace();
    
     }
    
     
    
     
    
     
    
     }
    
     }
    
     for(int i=0;i<file.length;i++)
    
     {
    
     if(file[i].isDirectory())
    
     {
    
     source1=source+"/"+file[i].getName();
    
     dest1=dest+"/"+file[i].getName();
    
     File dest2=new File(dest1);
    
     dest2.mkdir();
    
     copyDict(source1,dest1);
    
     }
    
     }
    
     
    
    }
    
     
    
     
    
    public static void main(String args[])
    
    {
    
    new MyTree().init();
    
    }
    
    }

     

     

     

     

     

     

     

     

     

     

     

     


    展开全文
  • 使用缺省文件管理器在所有桌面环境执行以下操作: xdg-open. 你也可以从终端打开文件,就像双击文件管理文件一样: xdg-open file 参考:https://www.helplib.com/ubunt...

    问题:

    在终端工作时,有时我想在GUI文件管理器中打开当前目录。 然后单击窗口中的项目以运行应用程序。 我该怎么做?


    回答 1:

    使用缺省文件管理器在所有桌面环境中执行以下操作:

    xdg-open. 

    你也可以从终端打开文件,就像双击文件管理器中的文件一样:

    xdg-open file

     

     

     

     

     

    参考:https://www.helplib.com/ubuntu/article_164830

    展开全文
  • Windows 10已将其重命名为“文件资源管理器”,此应用程序与Windows 7上的Windows资源管理器基本相同。它确实具有一些新功能,包括功能区界面和用于将文件同步到云的内置Microsoft OneDrive。 The “Quick ...

    Windows 10 no longer has built-in help for File Explorer, as Windows 7 does. Microsoft makes you search the web for information, so here’s what you need to know about using Windows 10’s file manager.

    Windows 10不再像Windows 7那样具有文件资源管理器的内置帮助。 Microsoft使您可以在Web上搜索信息,因此,这是使用Windows 10的文件管理器需要了解的内容。

    文件资源管理器界面基础 (File Explorer Interface Basics)

    While it’s been renamed “File Explorer” in Windows 10, this application is basically the same as Windows Explorer on Windows 7. It does have some new features, including a ribbon interface and built-in Microsoft OneDrive for syncing your files to the cloud.

    在Windows 10中已将其重命名为“文件资源管理器”,此应用程序与Windows 7上的Windows资源管理器基本相同。它确实具有一些新功能,包括功能区界面和用于将文件同步到云的内置Microsoft OneDrive。

    The “Quick Access” area in the sidebar replaces “Favorites” on Windows 10. You can drag and drop folders to the Quick Access area to “pin” them for easy access in the future. Windows 10 will automatically add your recently used folders to this area, too. You can customize Quick Access from the options window. To remove an individual folder from Quick Access, right-click it and select “Unpin From Quick Access.”

    侧栏中的“快速访问”区域替换了Windows 10上的“收藏夹”。您可以将文件夹拖放到“快速访问”区域,以“固定”它们,以便将来使用。 Windows 10也会自动将您最近使用的文件夹添加到该区域。 您可以从选项窗口自定义快速访问 。 要从快速访问中删除单个文件夹,请右键单击它,然后选择“从快速访问中取消固定”。

    The “This PC” section replaces the “My Computer” item on Windows 7. It contains shortcuts to user data folders on your PC as well as other drives, such as USB drives and DVD drives.

    “此PC”部分代替Windows 7上的“我的电脑”项。它包含PC上用户数据文件夹以及其他驱动器(如USB驱动器和DVD驱动器)的快捷方式。

    如何使用色带 (How to Use the Ribbon)

    The ribbon in File Explorer works just like the ribbon in Microsoft Office applications like Word and Excel. There are a few different ways you can use it.

    文件资源管理器中的功能区就像Microsoft Office应用程序(例如Word和Excel)中的功能区一样工作。 您可以使用几种不同的方式来使用它。

    If you want more space in your file browsing windows, you can leave the ribbon collapsed by default. You can still click any of the tabs at the top—like “Home,” “Share,” or “View” to view the commands and click a button. The ribbon will only appear temporarily.

    如果要在文件浏览窗口中留出更多空间,可以默认使功能区折叠。 您仍然可以单击顶部的任何选项卡,例如“主页”,“共享”或“查看”以查看命令并单击一个按钮。 功能区将仅临时显示。

    If you’d rather see the ribbon all the time, you can expand it. To do so, either click the arrow near the top right corner of the File Explorer window or press Ctrl+F1.

    如果您想一直看到功能区,可以展开它。 为此,请单击“文件资源管理器”窗口右上角附近的箭头,或按Ctrl + F1。

    The Home toolbar offers basic options for working with files, including Copy, Paste, Delete, Rename, New Folder, and Properties.

    主页工具栏提供了用于处理文件的基本选项,包括复制,粘贴,删除,重命名,新文件夹和属性。

    The Share tab offers options for emailing, zipping, and printing files, as well as burning them to disc and sharing them on the local network.

    共享选项卡提供用于通过电子邮件发送,压缩和打印文件,以及将它们刻录到光盘并在本地网络上共享的选项。

    The View tab contains options for controlling how the files appear in File Explorer and how they’re sorted. You can enable a preview or details pane to see more information about a selected file, choose whether you want large file icons or a dense file list, and sort files by any criteria you like. You can also choose to show or hide file name extensions or hidden files from here. Just click the “Hidden items” checkbox to show or hide hidden files without opening the Folder Options window.

    “查看”选项卡包含用于控制文件在文件资源管理器中的显示方式和排序方式的选项。 您可以启用预览或详细信息窗格以查看有关选定文件的更多信息,选择是使用大文件图标还是密集文件列表,并根据自己喜欢的任何条件对文件进行排序。 您也可以从此处选择显示或隐藏文件扩展名或隐藏文件。 只需单击“隐藏的项目”复选框即可显示或隐藏隐藏的文件,而无需打开“文件夹选项”窗口。

    The Manage tab will sometimes appear on the ribbon with contextually appropriate commands. For example, if you select some pictures, you’ll see a “Picture Tools” tab with options for rotating the selecting images and setting them as your desktop background.

    有时,“管理”选项卡会使用上下文相关命令显示在功能区上。 例如,如果选择一些图片,则会看到“图片工具”标签,其中包含用于旋转选择的图片并将其设置为桌面背景的选项。

    如何固定常用命令 (How to Pin Frequently Used Commands)

    The Quick Access Toolbar appears at the top left corner of the File Explorer window, on the title bar. It provides convenient access to commands you frequently use. To add a command to the Quick Access toolbar, right-click it on the ribbon and select “Add to Quick Access Toolbar.”

    快速访问工具栏出现在文件资源管理器窗口的左上角,在标题栏上。 它提供了对常用命令的便捷访问。 要将命令添加到快速访问工具栏,请在功能区上右键单击它,然后选择“添加到快速访问工具栏”。

    If you’d like more space for commands, you can right-click anywhere on the ribbon or tab bar above it and select “Show the Quick Access Toolbar Below the Ribbon” to turn it into a more standard toolbar.

    如果您想为命令留出更多空间,可以右键单击功能区或功能区上方的选项卡栏上的任意位置,然后选择“在功能区下方显示快速访问工具栏”以将其转变为更标准的工具栏。

    如何更改文件资源管理器的设置 (How to Change File Explorer’s Settings)

    To change File Explorer’s settings, click the “View” tab on the ribbon and click the “Options” icon.

    要更改文件资源管理器的设置,请单击功能区上的“查看”选项卡,然后单击“选项”图标。

    This opens the familiar Folder Options dialog that existed on Windows 7, too. It has a few new options—for example, you can control whether File Explorer opens to the Quick Access or This PC views, or whether it automatically shows recently and frequently used folders in the Quick Access view.

    这也会打开Windows 7上熟悉的“文件夹选项”对话框。 它具有几个新选项-例如,您可以控制文件资源管理器是否打开到“快速访问”或“此PC”视图,或者是否在“快速访问”视图中自动显示最近使用和经常使用的文件夹。

    有用的键盘快捷键 (Useful Keyboard Shortcuts)

    File Explorer is packed with useful keyboard shortcuts to help you accomplish tasks faster. Here’s a quick list of some:

    File Explorer随附有用的键盘快捷键,可帮助您更快地完成任务。 以下是其中的一些快速清单:

    • Windows+E – Open a File Explorer window. This works anywhere in Windows 10.

      Windows + E –打开文件资源管理器窗口。 在Windows 10中的任何地方都可以使用。

    • Ctrl+N – Open a new File Explorer window. This only works in File Explorer itself.

      Ctrl + N –打开一个新的“文件资源管理器”窗口。 这仅在文件资源管理器本身中起作用。

    • Ctrl+W – Close the current File Explorer window.

      Ctrl + W –关闭当前的“文件资源管理器”窗口。

    • Ctrl+Mousewheel Up or Down – Change the size of files and folder icons (zoom in or out.)

      Ctrl +鼠标滚轮向上或向下 –更改文件和文件夹图标的大小(放大或缩小。)

    • Ctrl+Shift+N – Create a new folder

      Ctrl + Shift + N –创建一个新文件夹

    • Backspace or Alt+Left arrow – View the previous folder (go back.)

      BackspaceAlt +向左箭头 –查看上一个文件夹(返回。)

    • Alt+Right arrow – View the next folder (go forward.)

      Alt +向右箭头 –查看下一个文件夹(前进。)

    • Alt+Up arrow – View the folder the current folder is in.

      Alt +向上箭头 –查看当前文件夹所在的文件夹。

    • Ctrl+F, Ctrl+E, or F3 – Focus the Search box so you can quickly start typing a search.

      Ctrl + FCtrl + EF3 –聚焦“搜索”框,以便快速开始输入搜索。

    • Ctrl+L, Alt+D, or F4 – Focus the address (location) bar so you can quickly start typing a folder address.

      Ctrl + LAlt + DF4 –聚焦地址(位置)栏,以便您可以快速开始输入文件夹地址。

    • F11 – Maximize the File Explorer window. Press F11 again to shrink the window. This works in web browsers, too.

      F11 –最大化“文件资源管理器”窗口。 再次按F11缩小窗口。 这也可以在网络浏览器中使用。

    You can find a complete list of Windows 10 keyboard shortcuts on Microsoft’s website.

    您可以在Microsoft网站上找到Windows 10键盘快捷键的完整列表。

    如何使用OneDrive (How to Use OneDrive)

    OneDrive is built into File Explorer on Windows 10. It synchronizes files online using the Microsoft account you sign into Windows 10 with. It works similarly to Dropbox, Google Drive, and Apple’s iCloud Drive.

    OneDrive内置于Windows 10的文件资源管理器中。它使用您登录Windows 10的Microsoft帐户在线同步文件。 它的工作方式类似于Dropbox,Google Drive和Apple的iCloud Drive。

    To get started, click the “OneDrive” option in File Explorer’s sidebar. You’ll be prompted to sign into OneDrive, if necessary. If you aren’t, you can just place files in OneDrive. They’ll be uploaded to Microsoft’s servers. You can access them in the OneDrive folder on other PCs you sign into the same Microsoft account with, via OneDrive apps on your phone, and on the OneDrive website.

    要开始使用,请单击文件资源管理器侧栏中的“ OneDrive”选项。 如有必要,系统将提示您登录OneDrive。 如果不是这样,则可以将文件放置在OneDrive中。 它们将被上传到Microsoft的服务器。 您可以通过手机上的OneDrive应用程序和OneDrive网站在登录同一Microsoft帐户的其他PC上的OneDrive文件夹中访问它们。

    The “Status” field in the OneDrive window shows you the status of each file. A blue cloud icon indicates the file is stored on OneDrive online but will automatically be downloaded when you open it. A green checkmark indicates the file is stored both on OneDrive and on your current PC.

    OneDrive窗口中的“状态”字段显示每个文件的状态。 蓝云图标表示该文件在线存储在OneDrive上,但在打开时会自动下载 。 绿色复选标记表示文件已存储在OneDrive和当前PC上。

    You can control OneDrive’s settings from the OneDrive notification area (system tray) icon. Click the cloud-shaped OneDrive icon in the notification area at the bottom right corner of your screen—if you don’t see it, you probably need to click the little up arrow to the left of the icons to find it. Click “More” and click “Settings” to find OneDrive’s various settings, where you can control which folders are synchronized, how much of your upload and download bandwidth OneDrive uses, and other settings.

    您可以从OneDrive通知区域(系统托盘)图标控制OneDrive的设置。 单击屏幕右下角通知区域中的云形OneDrive图标-如果看不到它,则可能需要单击图标左侧的向上小箭头才能找到它。 单击“更多”,然后单击“设置”以找到OneDrive的各种设置,您可以在其中控制同步的文件夹,OneDrive使用的上载和下载带宽量以及其他设置。

    OneDrive can automatically “protect” files in important folders like your Desktop, Pictures, and Documents by syncing them. To set this up, click the “Auto Save” tab in OneDrive’s settings and click the “Update Folders” button under Protect Your Important Folders.

    OneDrive可以通过同步来自动“保护”重要文件夹(如桌面,图片和文档)中的文件。 要进行设置,请单击OneDrive设置中的“自动保存”选项卡,然后单击“保护您的重要文件夹”下的“更新文件夹”按钮。

    If you don’t like seeing OneDrive, you can disable it and remove the icon from File Explorer.

    如果您不喜欢看到OneDrive,可以将其禁用并从File Explorer中删除该图标

    如何访问网络驱动器 (How to Access Network Drives)

    Folders, printers, and media servers shared on the local network appear in the “Network” view. You may have to scroll down to the bottom of File Explorer’s sidebar to locate and click it.

    本地网络上共享的文件夹,打印机和介质服务器显示在“网络”视图中。 您可能需要向下滚动到“文件资源管理器”侧栏的底部才能找到并单击它。

    Windows 10 no longer includes the HomeGroup feature, so you can’t use that to share files and folders between your computers easily. You can either use OneDrive or use the old-fashioned file and folder sharing network options.

    Windows 10不再包含HomeGroup功能 ,因此您不能使用该功能在计算机之间轻松共享文件和文件夹。 您可以使用OneDrive,也可以使用老式的文件和文件夹共享网络选项。

    If you need to map a network drive for easy availability, you can do that from the This PC view. First, click “This PC” in the sidebar. The “Computer” tab will appear on the ribbon. Click it and select “Map Network Drive” and use the instructions your IT department provides for connecting.

    如果您需要映射网络驱动器以便于可用性,则可以从“此PC”视图中进行操作。 首先,在边栏中单击“此PC”。 功能区上将显示“计算机”选项卡。 单击它并选择“映射网络驱动器”,然后使用IT部门提供的连接说明。

    The mapped drive will appear under Network Locations in the This PC view.

    映射的驱动器将出现在“此PC”视图的“网络位置”下。

    如何备份和还原文件 (How to Back Up and Restore Your Files)

    Windows 10 contains File History, a file backup and restore tool. It’s not just for making and restoring huge backups—File History can automatically back up different versions of your files, and you can use File Explorer to restore those previous versions easily. First, you have to set up File History from Settings > Update & Security > Backup. Enable “Automatically back up my files.”

    Windows 10包含文件历史记录,这是一种文件备份和还原工具。 它不仅用于制作和还原大型备份,“文件历史记录”可以自动备份文件的不同版本,而且您可以使用“文件资源管理器”轻松还原那些先前的版本。 首先,您必须从“设置”>“更新和安全性”>“备份”设置“ 文件历史记录 ”。 启用“自动备份我的文件”。

    After you’ve set it up, you can select a file or folder, click “Home” on the ribbon, and click the “History” button to view and restore older versions of that file or folder.

    设置完之后,您可以选择一个文件或文件夹,在功能区上单击“主页”,然后单击“历史记录”按钮以查看和还原该文件或文件夹的旧版本。

    Windows 10’s File Explorer is packed with other useful features, too. You can tag any file, use a dark theme, or re-enable the “libraries” feature. Microsoft is working a tabbed interface for File Explorer, but you can get File Explorer tabs today.

    Windows 10的文件资源管理器也包含其他有用的功能。 您可以标记任何文件使用深色主题重新启用“库”功能 。 Microsoft正在使用File Explorer的选项卡式界面,但是今天可以获取File Explorer的选项卡

    翻译自: https://www.howtogeek.com/404740/get-help-with-file-explorer-on-windows-10/

    展开全文
  • 我用的是win10专业版,出现这种问题已经很多次了,之前也没有管过,重启下电脑就没事了,我网上也找不到遇到类似问题的解决方法,下面我就说下我的方法。 首先说明以下问题只针对windows10系统,其他系统还没遇到...
  • windows系统下,可以通过命令行方式选中指定文件/文件夹,命令如下: explorer /select, youFileOrFolderLocation ...那么要在java实现系统资源管理器中选中指定文件/文件夹,最简单的方法
  • Java实现的文件资源管理器——仿Windows

    万次阅读 多人点赞 2018-05-23 20:38:36
    1.模仿Windows的文件资源管理器对本机的文件目录树的显示,对文件目录进行查看和浏览,用地址栏、文件目录树、打开文件夹等方法都可以在文件目录之间进行跳转 2.对文件的基本操作:打开、删除、批量删除、重命名、...
  • C++模拟windows资源管理器

    千次阅读 2020-05-12 16:02:49
    用户根据提示,选择预期实现的功能,并按要求操作,模拟windows资源管理器中所能实现的基本功能。 程序执行的命令包括: (1)、程序运行,提示用户选择预期实现的功能; (2)、用户按要求操作; (3)、结束。 二...
  • 一开始的时候,出现资源无响应的问题,我还没在意。我笔记本是ThinkPad E460,电脑系统是windows10,无响应之后,电脑屏幕一直跳动,关键重启之后,依旧跳动,整个桌面跳动,鼠标根本操作不了,无奈,只能重装系统...
  • Qt Designer中要使用图片资源有三种方法:通过图像文件指定、通过资源文件指定、通过theme主题方式指定,对应的设置界面需要指定图像的属性栏如windowIcon通过点击属性设置栏的倒三角按钮触发,如下图: ...
  • Visual Studio团队资源管理器 Git 源码管理工具简单入门
  • Ctrl+shift+esc 按此键 —》 执行此操作 Ctrl + X —》 剪切选定项 Ctrl + C(或 Ctrl + Insert) —》 复制选定项 ...Alt + Tab —》 打开的应用之间切换 Alt + F4 —》 关闭活动项,或者退...
  • Option Explicit Private Sub Command1_Click() Dim cmd As String '*打开资源管理器 焦点 【MyDotNetFiles】文件夹 ... cmd = "cmd /k explorer /select,d:\... '*打开资源管理器 焦点 【sn_office2007.t
  • C#基础教程-c#实例教程,适合初学者

    万次阅读 多人点赞 2016-08-22 11:13:24
    程序完成的输入输出功能是通过Console类来完成的,Console是名字空间System已经定义好的一个类。Console类有两个最基本的方法WriteLine和ReadLine。ReadLine表示从输入设备输入数据,WriteLine则用于输出...
  • DDOS入门介绍(一):DDOS简介

    万次阅读 多人点赞 2017-05-27 15:58:31
    定义分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。通常该攻击方式利用...
  • 资源管理器」一定是大家再熟悉不过的一位老伙计了,说起名字可能还会有不知道的同学,但我要是说起「文件夹」,大家的脑海里应该立刻就能浮现出熟悉的画面:一个四四方方的小盒子里,放着我们所有的文件:音乐、...
  • 序 一直以来,我都用的xshell或者putty这种安装windows的软件连接服务器,与本机的交互很麻烦,且编辑个文件什么的,我都是先下载到本地再编辑好上传上去。...点击左边任务栏的远程资源管理器,并选定
  • WPF开发教程

    万次阅读 多人点赞 2019-07-02 23:13:20
    ------WPF 开发教程   目录 ...WPF基础入门.......目标就是提供堆栈处于较低位置的可扩展性点,这将允许外部开发人员可以需要时创建自己的框架。 System.Windows.FrameworkElement ...
  • 获取当前鼠标选中的文件的路径

    热门讨论 2014-11-23 03:10:16
    点击左键获取当前鼠标选中的文件的路径, 右键获取文件名的程序 的方式请百度:Windows Shell扩展编程完全指南.chm 的demo1;
  • 《图书管理系统》毕业论文

    万次阅读 多人点赞 2008-11-24 11:13:00
    图书管理系统毕业论文图书馆管理系统目录 0 前言 1系统设计1.1系统目标设计 1.2开发设计思想 1.3开发和运行环境选择 1.4系统功能分析 1.5系统功能模块设计 2数据库设计2.1数据库需求分析2.2数据库逻辑结构...
  • 修改win7资源管理器默认启动位置

    千次阅读 2013-04-16 09:52:00
    打开资源管理器属性,目标(T)后边加上: /e,::{20D04FE0-3AEA-1069-A2D8-08002B30309D} 俺滴笨笨原本目标(T)是: %windir%\explorer.exe -----默认打开的是“库” 添加后: %windir%\explorer.exe /e...
  • Eclipse直接打开电脑对应的文件资源管理器)Step1 - 安装插件 菜单栏Help -> Install New Software…  如图: Step2 - 指定插件URL 弹出界面点击Add,选择插件自定义名、URL;笔者Name-URL:...
  • 无线传感器网络复习大纲

    千次阅读 多人点赞 2019-04-30 10:31:40
    能量管理平台:管理传感器节点如何使用资源各个协议层都需要考虑节省能量 移动管理平台:检测传感器节点的移动,维护到汇聚节点的路由,是的传感器节点能够动态跟踪其邻居的位置。 任务管理平台:一个...
  • C#如何右下角添加提示窗口,用于显示打开文件和文件夹 的过程,需要实现,点击对应LinkLabel后,调用资源管理器,打开对应的文件夹。 【解决过程】 1.找了下,参考: C#打开文件夹 C#用资源...
  • 解决VS2017窗口左右互换: 工具-&amp;amp;amp;gt;导入导出设置-&amp;amp;amp;gt;导入选定环境-&amp;amp;amp;gt;我的设置
  • 【解决过程】 ...C#用资源管理器打开指定文件夹 去添加代码: ? 1 2 3 4 5 6 private void lklOpenFolder_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {  //open fold
  • 第9章 项目人力资源管理9.1 规划人力资源管理规划人力资源管理是识别和记录项目角色、职责、需技能、报告关系,并编制人员配备管理计划的过程。本过程的主要作用是,建立项目角色与职责、项目组织图,以及包含人员...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 45,355
精华内容 18,142
关键字:

在资源管理器中要对所选定的文件