爲什麼Java沒有文件複製方法?這似乎是一件非常明顯的事情,它可以幫助人們避免編寫諸如this example之類的東西。爲什麼Java沒有文件拷貝?
回答
Java API缺少的不僅僅是文件複製。您可能有興趣查看Apache Commons庫。例如,IO library'sFileUtils提供文件複製方法。
是的,每當我想到自己「爲什麼這個功能不是Java?」時,它總是由「公共」實現。 – SingleShot 2009-10-29 17:12:08
這是公平的 - Java是一種語言,而不是圖書館。它旨在使事物*可實現*,不一定在JDK庫中實現它們。 – 2009-10-29 17:16:08
這是一種語言和一個庫(java.util。*)。爲什麼我可以寫入一個文件,但不能複製一個文件? – 2009-10-29 17:31:33
我的猜測是因爲當編寫File io系統時,他們決定不想處理複製文件的跨平臺問題,並且被踢出 - 即他們說「這可以被其他人操作,而不是那個共同點「。
要記住Java的一件事是它是跨平臺的,所以有些事情因爲這個現實而變得更加困難。
「編寫一次,無處不在調試」 – MattC 2009-10-29 17:14:59
也許,但是從輸入流中讀取字節並將它們寫入輸出流是隨處可見的。 – 2009-10-29 23:12:48
出於同樣的原因Java沒有很多其他的東西。最終由外部圖書館實施。 我相信你很容易找到這樣一個library,或者你可以寫一個函數。
java.io.File
是1.0中介紹的一個相對簡單的類。 JDK 1.0沒有太多內容 - 主要與支持applet和javac編譯器有關。我想沒有太大的壓力來擴展它 - 小程序和企業軟件不是朝着這個方向發展的。
但是,很多已添加到JDK7的I/O中。包括[java.nio.file.Path.copyTo
] [1]。
[1]:http://download.java.net/jdk7/docs/api/java/nio/file/Path.html#copyTo(java.nio.file.Path,java.nio.file.CopyOption ...)
只看Java 7 nio.files包,看起來他們增加了很多。 – 2009-10-29 17:43:38
- 1. 爲什麼變量dir沒有拷貝到文本文件中?
- 2. 爲什麼懶的拷貝時我們有深拷貝和淺拷貝?
- 3. 爲什麼CAsyncSocket沒有拷貝構造函數或=操作符?
- 4. 爲什麼寫入時拷貝上沒有SIGSEGV信號?
- 5. 爲什麼不NRVO沒有拷貝構造函數工作
- 6. 爲什麼Linux內核中沒有零拷貝網絡?
- 7. iPhone拷貝文件
- 8. 拷貝文件到
- 9. java的深拷貝
- 10. 爲什麼java中沒有頭文件?
- 11. 我有Samba文件拷貝的問題
- 12. Xcode目標文件拷貝
- 13. 螞蟻xmltask文件拷貝
- 14. 正在拷貝文件嗎?
- 15. 爲什麼隱式拷貝構造函數調用基類拷貝構造函數並且定義的拷貝構造函數沒有?
- 16. Java ArrayList的拷貝構造函數是淺拷貝還是深拷貝?
- 17. 淺拷貝或深拷貝?
- 18. 爲什麼沒有調用成員類的拷貝構造函數?
- 19. 拷貝過程中應該傳送什麼文件頭數據?
- 20. 什麼是數組的淺拷貝
- 21. IOCP:沒有字節拷貝的通知
- 22. WebHDFS中沒有拷貝方法
- 23. 沒有將其拷貝到SD卡
- 24. Eigen中沒有拷貝乘法
- 25. 拷貝機沒有足夠的權限
- 26. 的std ::排序沒有拷貝構造
- 27. java克隆深拷貝HashMap
- 28. Java二維數組拷貝
- 29. Java中的淺拷貝
- 30. Java中的多態拷貝
現在呢,因爲Java 7的http://docs.oracle.com/javase/7/docs/api /java/nio/file/Files.html – ripper234 2011-11-27 10:05:06