资源管理器2
package org.accp.explor; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExce
package org.accp.explor;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.sql.Date;
import javax.swing.*;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableModel;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreePath;
public class Test1 extends DefaultMutableTreeNode {
private static final long serialVersionUID = 6999685634761062308L;
private class MyFile {//这个内部类的用处在于在JTree节点的select发生时,对所选文件进行格式转化
private File file;
public MyFile(File file) {
this.file = file;
}
public String toString() {
String name = file.getName().trim();
if (name.length() == 0)
name = file.getAbsolutePath().trim();
return name;
}
}
DefaultMutableTreeNode treeRoot;
DefaultTableModel tableModel;
JTable table;
DefaultMutableTreeNode parent;
Object[][] list = { {} };
public void treeMake() throws UnknownHostException { // 添加机器码&&构造界面
InetAddress local = InetAddress.getLocalHost();
treeRoot = new DefaultMutableTreeNode(local.getHostName());
final JTree tree = new JTree(treeRoot);
JScrollPane scrolltree = new JScrollPane(tree);
scrolltree.setPreferredSize(new Dimension(200, 300));
String[] row = { "文件", "类型", "最后修改日期" };
tableModel = new DefaultTableModel(list, row);
table = new JTable(tableModel);
JScrollPane scrollTable = new JScrollPane(table);
scrollTable.setPreferredSize(new Dimension(500, 500));
MenuBar meb=new MenuBar();
Menu menuFile=new Menu("文件(F)");
Menu menuEdit=new Menu("编辑(E)");
Menu menuLook=new Menu("查看(V)");
meb.add(menuFile);
MenuItem miFile=new MenuItem("打开");
menuFile.add(miFile);
meb.add(menuEdit);
MenuItem miEdit=new MenuItem("复制");
menuEdit.add(miEdit);
meb.add(menuLook);
MenuItem miLook=new MenuItem("工具栏");
menuLook.add(miLook);
JFrame jf = new JFrame();
jf.add(BorderLayout.WEST, scrolltree);
jf.add(BorderLayout.CENTER, scrollTable);
jf.setSize(600, 600);
jf.setVisible(true);
jf.setMenuBar(meb);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 添加电脑本地硬盘
for (char i = 'c'; i String path = i + ":/";
if (((new File(path)).exists())) {
DefaultMutableTreeNode diskNode = new DefaultMutableTreeNode(
new MyFile(new File(path)));
treeRoot.add(diskNode);
readfiles(new File(path), diskNode);
}
}
tree.addTreeSelectionListener(new TreeSelectionListener() {//添加listener
public void valueChanged(TreeSelectionEvent arg0) {
// TODO 自动生成方法存根
TreePath path = tree.getSelectionPath();
if (path == null)
return;
DefaultMutableTreeNode selectnode = (DefaultMutableTreeNode) path
.getLastPathComponent();
if (!selectnode.isLeaf()) {
// 这里加上类型判断
if (!(selectnode.getUserObject() instanceof MyFile)) {
return;
}
File file_select = ((MyFile) selectnode.getUserObject()).file;
// 读取文件夹下文件添加下层节点
readfiles(file_select, selectnode);
DefaultMutableTreeNode firstchild = (DefaultMutableTreeNode) selectnode
.getFirstChild();
selectnode.remove(firstchild);
tableModel.setRowCount(0);
File[] fileList = file_select.listFiles();
list = fu(fileList);
for (int i = 0; i tableModel.addRow(list[i]);
}
}
else {
tableModel.setRowCount(0);
try {
File file_select = ((MyFile) selectnode.getUserObject()).file;
String sizeFile=size(file_select);
Object re[][]={{file_select.getName(),sizeFile,lastTime(file_select)}};
list=re;
tableModel.addRow(list[0]);
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}
});
}
public void readfiles(File file, DefaultMutableTreeNode node) {//读取所选节点,获取子节点
File list[] = file.listFiles();
if (list == null)
return;
for (int i = 0; i File file_inlist = list[i];
// String filename = file_inlist.getName();
if (file_inlist.isDirectory()) {
parent = new DefaultMutableTreeNode(new MyFile(file_inlist));
// 添加空白文件夹节点 使子节点显示为文件夹
File stubadd = null;
DefaultMutableTreeNode stub = new DefaultMutableTreeNode(
stubadd);
parent.add(stub);
node.add(parent);
} else {
DefaultMutableTreeNode son = new DefaultMutableTreeNode(
new MyFile(file_inlist));
node.add(son);
}
}
}
public String size(File file) throws IOException {//读取文件的大小
FileInputStream fileLength = new FileInputStream(file);
String sizefile = fileLength.available() + "字节";
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][3];
for (int i = 0; i m[i][0] = file[i].getName();
try {
// 这里有问题,如果是目录,怎么取大小?所以要用if
// m[i][1] = size(file[i]);
if (file[i].isDirectory()) {
m[i][1] = "目录";
} else {
m[i][1] = size(file[i]);
}
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
m[i][2] = lastTime(file[i]);
}
return m;
}
public int getColumnCount() {
// TODO 自动生成方法存根
return 3;
}
public int getRowCount(File[] file) {
// TODO 自动生成方法存根
return file.length;
}
public Object getValueAt(int row, int col) {
// TODO 自动生成方法存根
return list[row][col];
}
public static void main(String[] args) {
// TODO Auto-generated method
Test1 disk = new Test1();
try {
disk.treeMake();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Bien que Windows 11 constitue toujours une mise à niveau importante par rapport à l'itération précédente, Microsoft ne semble pas avoir résolu certains problèmes. Un problème courant concerne les lettres de lecteur en double dans Windows 11, où le même lecteur est répertorié deux fois et vous devez supprimer les entrées redondantes. Par exemple, il sera répertorié sous « Ce PC », puis à nouveau en tant que lecteur amovible dans le volet de navigation. Même si cela ne se traduira pas par une consommation accrue d'espace de stockage, cela encombrera certainement l'Explorateur Windows. Pourquoi mon disque apparaît-il deux fois dans Windows 11 ? Par défaut, Windows affiche les disques externes deux fois dans le volet de navigation. C'est comme ça que ça se passe. Cependant, des lettres de lecteur contradictoires ou des systèmes corrompus

Certains utilisateurs de PC et joueurs peuvent rencontrer une utilisation anormalement élevée du processeur lorsqu'ils utilisent Windows 11 ou Windows 10, en particulier lors de l'exécution de certaines applications ou de certains jeux. Cet article fournit quelques suggestions pour aider les utilisateurs à résoudre ce problème. Certains utilisateurs de PC concernés ont noté que lorsqu'ils rencontraient ce problème, ils avaient observé que le Gestionnaire des tâches affichait d'autres applications utilisant seulement 0 à 5 % du processeur, tandis que le service Service Host : Capacity Access Manager voyait une utilisation allant jusqu'à 80 à 100 %. %. Qu'est-ce que le service Hôte du service : Feature Access Manager ? La fonction du service Function Access Manager est de confirmer si l'application est autorisée à accéder à la caméra et au microphone et d'accorder les autorisations nécessaires. Il facilite la gestion des applications UWP

NPU est l'abréviation de unité de traitement neuronal, qui est un processeur spécialement utilisé pour effectuer des calculs tels que des algorithmes d'apprentissage automatique. En termes simples, il s'agit d'un processeur spécialement conçu pour accélérer les tâches liées à l'intelligence artificielle. Cet article explique comment vérifier si un PC Windows 11 est équipé d'une unité de traitement neuronal (NPU). Découvrez si votre PC dispose d'une unité de traitement neuronal (NPU) dans Windows 11. Les méthodes suivantes vous aideront à déterminer si votre PC dispose d'une unité de traitement neuronal (NPU) installée dans Windows 11. Via le Gestionnaire des tâches Via le Gestionnaire de périphériques En visitant le site officiel Ci-dessous, nous avons expliqué toutes ces méthodes en détail. 1] Utilisez le Gestionnaire des tâches pour vérifier si votre PC dispose d'un NPU sur un PC Windows 11
![Comment masquer et afficher des dossiers sous Windows 11 [3 façons]](https://img.php.cn/upload/article/000/887/227/169542942766265.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Masquer des dossiers est un excellent moyen de garder votre bureau organisé. Peut-être souhaitez-vous garder vos fichiers personnels ou certaines informations sur vos clients à l'abri des regards indiscrets. Quoi qu’il en soit, la possibilité de les ranger et de les afficher si nécessaire constitue une grande économie. Bref, ces fichiers cachés n'apparaîtront pas dans le menu principal, mais ils seront toujours accessibles. C'est très simple et ne devrait pas vous prendre trop de temps. Comment masquer un dossier sous Windows 11 ? 1. Utilisez l'Explorateur de fichiers et appuyez sur la touche + pour ouvrir l'Explorateur de fichiers. WindowsE Recherchez le dossier que vous souhaitez masquer, cliquez dessus avec le bouton droit et sélectionnez Propriétés. Accédez à l'onglet Général, cochez la case Masquer, cliquez sur Appliquer, puis cliquez sur OK. Dans la boîte de dialogue suivante, cochez Appliquer les modifications à ce dossier, sous-dossier

Le système win10 est un système capable d'effectuer divers réglages et ajustements. Aujourd'hui, l'éditeur vous propose la solution pour configurer le microphone dans le gestionnaire audio haute définition Realtek ! Si vous êtes intéressé, venez jeter un oeil. Comment configurer le microphone dans Realtek High-Definition Audio Manager : 1. Recherchez l'icône « Realtek High-Definition Audio Manager » dans la liste des icônes cachées dans le coin inférieur gauche du bureau. 2. Cliquez pour accéder à l'interface. La première chose que vous voyez est la « Page du haut-parleur ». Dans cette interface, vous pouvez régler le son du haut-parleur via la configuration des haut-parleurs. 3. Vient ensuite l'effet sonore. Vous pouvez choisir l'environnement d'effet sonore que vous souhaitez et « égaliseur, pop, rock, club », etc. 4. Vient ensuite la correction de la qualité du son intérieur. La correction de l'espace intérieur ne peut corriger que le ".

Dans cet article, nous allons vous montrer différentes manières d'activer ou de désactiver le gestionnaire de démarrage Windows sur Windows 11/10. Le gestionnaire de démarrage Windows (BOOTMGR) est un composant important du système d'exploitation Windows, responsable de la configuration de l'environnement de démarrage, de la gestion des séquences de démarrage et de la gestion des erreurs de démarrage. Il est particulièrement utile sur les PC sur lesquels plusieurs systèmes d'exploitation sont installés, car il permet aux utilisateurs de sélectionner le système d'exploitation à charger au démarrage ou au redémarrage. Si vous souhaitez accélérer le démarrage de votre système, vous pouvez essayer de désactiver le gestionnaire de démarrage Windows pour réduire le temps de démarrage. Bien que ce ne soit pas une pratique recommandée, cela peut améliorer considérablement la vitesse de démarrage. De plus, vous pouvez modifier le bootmgr affiché

Comment suspendre les mises à jour du processus du Gestionnaire des tâches dans Windows 11 et Windows 10 Appuyez sur CTRL + Touche Fenêtre + Suppr pour ouvrir le Gestionnaire des tâches. Par défaut, le Gestionnaire des tâches ouvrira la fenêtre Processus. Comme vous pouvez le voir ici, toutes les applications se déplacent sans cesse et il peut être difficile de les indiquer lorsque vous souhaitez les sélectionner. Alors, appuyez sur CTRL et maintenez-le enfoncé, cela mettra le gestionnaire de tâches en pause. Vous pouvez toujours sélectionner des applications et même faire défiler vers le bas, mais vous devez maintenir le bouton CTRL enfoncé à tout moment.

Il y aura beaucoup de ressources sur le disque réseau 115, alors comment trouver des ressources ? Les utilisateurs peuvent rechercher les ressources dont ils ont besoin dans le logiciel, puis accéder à l'interface de téléchargement, puis choisir de les enregistrer sur le disque réseau. Cette introduction à la méthode de recherche de ressources sur 115 disques réseau peut vous indiquer le contenu spécifique. Ce qui suit est une introduction détaillée, venez y jeter un œil. Comment trouver des ressources sur le disque réseau 115 ? Réponse : Recherchez le contenu dans le logiciel, puis cliquez pour enregistrer sur le disque réseau. Introduction détaillée : 1. Entrez d'abord les ressources souhaitées dans l'application. 2. Cliquez ensuite sur le lien mot-clé qui apparaît. 3. Entrez ensuite dans l'interface de téléchargement. 4. Cliquez sur Enregistrer sur le disque réseau à l'intérieur.
