如何读取一个文件夹下的所有的文件名并输出到文件文件或者EXCEL文件?给100分了

解决方案 »

  1.   

    代码如下,已测试:     import java.io.*;
         import java.util.*;
    import java.text.*;
    import java.lang.*;
         import java.io.*;    import java.util.Locale;
         
             public class Main {         public static void main(String args[]) {
    File f=new File("F:\\J\\");

    System.out.println(f.isDirectory());
    String fileNames[]=f.list();
    for(int i=0;i<fileNames.length;i++)
    System.out.println(fileNames[i]);
    writeToINI(fileNames);




    }
    public static boolean  writeToINI(String[] userInfo)
        {
             FileWriter writer ;
                    BufferedWriter bufWriter ;
            try
            {
               writer = new FileWriter("f://a.txt");
               bufWriter = new BufferedWriter(writer);
                   
      //&micro;÷&Oacute;&Atilde;·&frac12;·¨&pound;&not;&ETH;&acute;&Egrave;&euml;&Auml;&Uacute;&Egrave;&Yacute;
                    for (int i = 0; i < userInfo.length; ++i)
                    {
                      bufWriter.write(userInfo[ i ]);//&frac34;&shy;×&Ocirc;&para;¨&Ograve;&aring;&micro;&Auml;&frac14;&Oacute;&Atilde;&Uuml;·&frac12;·¨&frac14;&Oacute;&Atilde;&Uuml;&ordm;ó&Ocirc;&Ugrave;&ETH;&acute;&Egrave;&euml;&Icirc;&Auml;&frac14;&thorn;
                        bufWriter.newLine();
                    }
                    bufWriter.close();
                    writer.close();
                    return true;
                
            }
            catch (Exception Ex)
            {
            }
            finally
            {
                bufWriter = null;
                writer = null;
            }
            return false;
        }}
      

  2.   

    楼上那个效率不行,我认为没必要把读跟写分开来,直接边读边写就可以省一个for循环了
    而且如果楼主需要访问文件夹下的所有文件,包括子文件夹,那就需要递归了
      

  3.   

    如果是要写入excel文件,可以参考以下url:
    http://www.chinajavalab.com/cgi-bin/topic.cgi?forum=1&topic=328 jxl的详细用法,可以对excel操作
      

  4.   

    回复believefym(feng) :我分开写是为了提高代码的可重用性,毕竟现在大家都在学习java
    我想如果明白了writeToINI,把代码合并到for也不是难事
      

  5.   

    public static void main(String[] args){
             OutputStream out =
    new FileOutputStream("./listFile.txt");
    getFileNames(new File("c:/"), out);
    out.close();
      } public static void getFileNames(File inpath, OutputStream os)
    throws IOException {
    File[] files = inpath.listFiles();
    for (int i = 0; i < files.length; i++) {
    File file = files[i];
    //文件内容
    System.out.println(file.getCanonicalPath());

    if (file.isDirectory()) {
    //目录, 递归调用
    getFileNames(file);
    } else {
      //文件, 输出到文件
    byte[] bs = file.getCanonicalPath().getBytes();
    os.write(bs, 0, bs.length());
    output.write('\n');
    }
    }
    }