不是很难吧?查查jdk帮助,看看书很容易搞定的.

解决方案 »

  1.   

    其实都很简单,20分钟就好了
    但是帮楼主写了就是害你
    我给你点提示2.参考jdk的File类,FileReader,BufferedReader类3。List接口,Iterator接口4。File类,isDirectory()判断是目录就递归调用list()方法
      

  2.   

    根据你的题意,我写了几个方法,都已经通过编译可以运行的。
        第一题方法如下:
        /**
         * 功能:得到指定文件内容,以字符串形式返回。
         * @param strFilePath:读取文件的绝对路径("如C:\myTest.txt")
         * @return 文件内容。
         */    
        public static String readFile(String strFilePath)
        {
            StringBuffer fileBuffer = new StringBuffer();
            try
            {
                File file = new File(strFilePath);
                if(!file.exists())
                {
                    throw new IOException("无法找到指定文件!");
                }
                else if(!file.canRead())
                {
                    throw new IOException("指定文件不可读!");
                }
                else
                {
                    FileReader fReader = new FileReader(file);
                    BufferedReader bReader = new BufferedReader(fReader);
                    String strOneLine = "";
                    while((strOneLine=bReader.readLine())!=null)
                    {
                        fileBuffer.append(strOneLine);
                    }
                    bReader.close();
                    fReader.close();
                }
            }
            catch(IOException e)
            {
                System.out.println(e.toString());
            }
            return fileBuffer.toString();
        }    第二题:遍历List对象好写,你后面说的控制台输出文件名和大小没弄明白什么意思!
        /*
         * 说明:list为要遍历的List对象。 
         */
        public void readList(List list)
        {
            Iterator iter = list.iterator();
            while(iter.hasNext())
            {
                List itemList = (List)iter.next();
                Iterator itemIter = itemList.iterator();
                while(itemIter.hasNext())
                {
                    Object obj = (Object)itemIter.next();
                }
            }
        }    第三题:
        /*
         * 说明:strDirectory为文件目录的路径地址,如C:\myTest
         */
        public void readList(String strDirectory)
        {
            HashMap fileMap = new HashMap();
            try
            {
                File file = new File(strDirectory);
                if(!file.isDirectory())
                {
                    throw new IOException("给定路径不是文件目录!");
                }
                else
                {
                    File[] files = file.listFiles();
                    for(int i=0;i<files.length;i++)
                    {
                        String strFileName = files[i].getName();
                        long lFileLength = files[i].length();
                        fileMap.put(strFileName,String.valueOf(lFileLength));
                    }
                }
                //得到目录下所有文件名称和大小信息后,将信息写入一文件中。
                File writeFile = new File("C:\fileInfo.txt");
                FileWriter fWriter = new FileWriter(writeFile);
                BufferedWriter bWriter = new BufferedWriter(fWriter);
                Iterator iter = fileMap.keySet().iterator();
                while(iter.hasNext())
                {
                    String strFileName = (String)iter.next();
                    String strFileLength = (String)fileMap.get(strFileName);
                    bWriter.write("文件名称:"+strFileName+", 大小:"+strFileLength+" 字节");
                    bWriter.flush();
                }
                bWriter.close();
                fWriter.close();
            }
            catch(IOException e)
            {
                System.out.println(e.toString());
            }
        }