我写了一些java代码,它使用dir.listFiles().length;
获取目录中文件的数量。命令ls -l | wc
给了我一个不同的数字。我相信这两个命令都会跳过隐藏的目录。造成不同数字的原因是什么?Java的dir.listFiles()和* .nix的ls之间有什么区别?
回答
ls -l | wc
计数行ls -l
输出,与单个文件的目录中它仍然会输出2线,这并不意味着它的数目有2个文件目录
谢谢Jigar。仅使用ls仍会返回不同的数字。另外,我创建了一个带有一个文件的目录,并且'ls | wc'报告'1 1 4' – user465001 2014-09-21 16:21:13
如果您想要从Java获取使用Java方式的文件数 – 2014-09-21 16:23:54
内从man wc
:
wc - print newline, word, and byte counts for each file.
当命令ls -l | wc
给出类似于3 7 15
的输出时,wc
表明输入中有3个换行符,7个字和15个字符(字节)(输出ls -l
)。 3个换行符表示有3个文件,因为ls -l
用换行符列出每个文件。
另一方面,Java中的dir.listFiles().length
是由dir.listFiles()
方法返回的File
数组长度,这个方法的确是dir
中的文件数。
如果从wc
希望类似的结果,通过-lines
或者干脆-l
选项,只打印换行符计数:
ls -l | wc -l
最重要的,则dir.listFiles()
将列出所有在dir
包括隐藏文件其中ls
没有默认列表。为了与Java的结果一致,请使用:
ls -la | wc -l
- 1. “echo'hello'; ls”vs“echo'hello'&& ls”之间的区别?
- 2. Groovy的AnnotationNode和Java的注释之间有什么区别?
- 3. Java的java.lang.Runtime.exec()和PHP的exec()之间有什么区别?
- 4. dpm()和dsm()之间有什么区别?
- 5. @dynamic和@synthesize之间有什么区别?
- 6. vbNullString和“”之间有什么区别吗?
- 7. * zoom和zoom之间有什么区别?
- 8. String.Concat,string.format和+之间有什么区别?
- 9. StaticLayout和DynamicLayout之间有什么区别
- 10. WebServiceBinding.EmitConformanceClaims和WebServiceBinding.ConformanceClaims之间有什么区别?
- 11. :: after和after之间有什么区别?
- 12. %.02f和%.2f之间有什么区别?
- 13. {$ var}和$ var之间有什么区别?
- 14. ReleaseFloatArrayElements和DeleteLocalRef之间有什么区别
- 15. {0}和“”之间有什么区别?
- 16. getA()和this.getA()之间有什么区别?
- 17. @observable和@published之间有什么区别
- 18. $ {}和#{}之间有什么区别?
- 19. url.getFile()和getpath()之间有什么区别?
- 20. KVC和Properties之间有什么区别?
- 21. Lazy.Force()和Lazy.Value之间有什么区别
- 22. “层”和“层”之间有什么区别?
- 23. 1.1em和1.05em之间有什么区别?
- 24. proc和lambda之间有什么区别?
- 25. ViewFlipper和ViewSwitcher之间有什么区别
- 26. typedef和宏之间有什么区别?
- 27. “$^N”和“$ +”之间有什么区别?
- 28. NSInvocation和block之间有什么区别?
- 29. -existingObjectWithID:error:和-objectWithID之间有什么区别?
- 30. {0}和+之间有什么区别?
只是要知道,哪一个是正确的? – 2014-09-21 16:05:04
那么,这个目录有近2000个文件,所以我不能确定。对于包含较少文件的目录,这些程序似乎报告了合适的总数。 – user465001 2014-09-21 16:09:33
不同之处在于'ls -l'返回一个额外的行(它表示类似于:'Total:#####') – Barranka 2014-09-21 16:09:57