A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 林枢 黑马帝   /  2011-7-22 15:27  /  3810 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我这样只能把大部分隐藏,但是我的电脑和网上邻居以及IE还是没有隐藏掉
谁有办法
import java.io.File;
import java.io.IOException;

import javax.swing.filechooser.FileSystemView;

public class HiddenIcon {
        public static void main(String[] args) {
                FileSystemView fsv = FileSystemView.getFileSystemView();
                File fileDir = fsv.getHomeDirectory();
                File[] files = fileDir.listFiles();
                for (int i = 0; i < files.length; i++) {
                        String sets = "attrib -H \"" + files.getAbsolutePath() + "\"";
                        try {
                                Runtime.getRuntime().exec(sets);
                        } catch (IOException e) {
                                e.printStackTrace();
                        }
                }
        }
}

评分

参与人数 1技术分 +2 收起 理由
admin + 2 我都没干过这事,求马友们的解答

查看全部评分

7 个回复

倒序浏览
黑马网友  发表于 2011-7-22 16:33:15
沙发
顺便说一句,贴代码就贴正确的代码,不要搞有错的代码害人
回复 使用道具 举报
黑马网友  发表于 2011-7-22 16:36:13
藤椅
程序应该是这样吧
import java.io.File;
import java.io.IOException;

import javax.swing.filechooser.FileSystemView;

public class HiddenIcon {
        public static void main(String[] args) {
                FileSystemView fsv = FileSystemView.getFileSystemView();
                File fileDir = fsv.getHomeDirectory();
                File[] files = fileDir.listFiles();
                for (int i = 0; i < files.length; i++) {
                        String sets = "attrib +H \"" + files[i].getAbsolutePath() + "\"";
                        try {
                                Runtime.getRuntime().exec(sets);
                        } catch (IOException e) {
                                e.printStackTrace();
                        }
                }
        }
}

评分

参与人数 1技术分 +1 收起 理由
小龙 + 1 你说应该是这样的,贴出来的代码得自己先试

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-7-22 16:36:33
板凳
[code]import java.io.File;
import java.io.IOException;

import javax.swing.filechooser.FileSystemView;

public class HiddenIcon {
        public static void main(String[] args) {
                FileSystemView fsv = FileSystemView.getFileSystemView();
                File fileDir = fsv.getHomeDirectory();
                File[] files = fileDir.listFiles();
                for (int i = 0; i < files.length; i++) {
                        String sets = "attrib -H \"" + files[i].getAbsolutePath() + "\"";
                        try {
                                Runtime.getRuntime().exec(sets);
                        } catch (IOException e) {
                                e.printStackTrace();
                        }
                }
        }
} [/code]

评分

参与人数 1技术分 +1 收起 理由
admin + 1 程序中h前应该是+号

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-7-22 16:46:56
报纸
抱歉 那个
  String sets = "attrib -H \"" + files.getAbsolutePath() + "\"";
应该是 "attrib +H" 的 我忘记改回来了
回复 使用道具 举报
黑马网友  发表于 2011-7-22 16:55:28
地板

回复 沙发 的帖子

:lol  不小心忘了改回来
回复 使用道具 举报
黑马网友  发表于 2011-7-22 16:57:20
7#

回复 藤椅 的帖子

对,我写的那个是清除隐藏属性
回复 使用道具 举报
黑马网友  发表于 2011-7-22 23:24:53
8#
测试了一下 File fileDir = fsv.getHomeDirectory(); 得到的文件是当前用户的桌面文件,其他没有隐藏的桌面图标比如我的电脑,回收站等公用图标不存放在当前用户的桌面,所以无法隐藏,你需要取得他们所在文件目录,然后再调用属性隐藏就可以了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马