linux下如何将当前目录的文件名存到一个文本文件里


public  class  GetFileName
{
     public  static  String [] getFileName(String path)
     {
         File file =  new  File(path);
         String [] fileName = file.list();
         return  fileName;
     }
     public  static  void  getAllFileName(String path,ArrayList<String> fileName)
     {
         File file =  new  File(path);
         File [] files = file.listFiles();
         String [] names = file.list();
         if (names !=  null )
         fileName.addAll(Arrays.asList(names));
         for (File a:files)
         {
             if (a.isDirectory())
             {
                 getAllFileName(a.getAbsolutePath(),fileName);
             }
         }
     }
     public  static  void  main(String[] args)
     {
         String [] fileName = getFileName( "F:\\xiaoshuo" );
         for (String name:fileName)
         {
             System.out.println(name);
         }
         System.out.println( "--------------------------------" );
         ArrayList<String> listFileName =  new  ArrayList<String>(); 
         getAllFileName( "F:\\xiaoshuo" ,listFileName);
         for (String name:listFileName)
         {
             System.out.println(name);
         }
         
     }
}





Linux命令行参数数目是有限的,执行ls *.gz时,当通配符展开后,ls命令的参数列表超长了,导致运行出错。

如果只是想得到当前目录下(不包括子目录)的相关文件时,可以这样:

1
ls -1 | grep  ".gz$"  > 1.txt

如果想得到当前目录下,包括子目录中的相关文件时,应该用find命令:

1
find . -type f -name  "*.gz"  > 1.txt





linux 获取目录下所有文件名称并遍历



#!/bin/sh

cd /home/gbase/XL_WORK/data/dns/20160125/16/;

/*获取目录下的所有文件名称,保存到一个变量中去*/

file_name_tmp=`ls /home/gbase/XL_WORK/data/dns/20160125/16/`;

/*将这个变量中保存的文件名称转换为数组*/

file_names=($(echo $file_name_tmp));

/*遍历这个数组*/

for file_name in ${file_names[@]}

do

echo $file_name

/*等待2秒*/

sleep 2s

done




  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值