我有一個字符串數組,我需要保存到一個txt文件中。我只允許創建最大64kb的文件,所以我需要知道什麼時候停止將字符串放入文件中。 有沒有一些方法,有一個字符串數組,我可以找出有多大的文件將沒有創建文件?java-how如何在創建之前找出txt文件的大小
回答
該文件將被ASCII編碼?如果是這樣,你寫的每個字符將是1個字節。隨時添加字符串長度,如果字符總數大於64k,則停止。不要忘記在字符串之間加入換行符,以防你這樣做。
Java帶來了一個庫來輸入和輸出名爲NIO的數據。我想你應該知道如何使用它。如果你不知道如何使用NIO,看看下面的鏈接瞭解詳情:
http://en.wikipedia.org/wiki/New_I/O
https://blogs.oracle.com/slc/entry/javanio_vs_javaio
http://docs.oracle.com/javase/tutorial/essential/io/fileio.html
我們都知道,所有的數據類型都只是在字節結束。有了角色,我們擁有同樣的東西,並帶有更多細節。 World中的字符(字母,數字,符號等)被映射到名爲Unicode的表格,並且使用某些字符編碼算法,當您將文本保存到文件時,可以獲得一定數量的字節。我怎麼會花時間談論它給你,我建議你看一看以下鏈接瞭解更多關於字符編碼:
http://www.w3schools.com/tags/ref_charactersets.asp
https://stackoverflow.com/questions/3049090/character-sets-explained-for-dummies
https://www.w3.org/International/questions/qa-what-is-encoding.en
http://en.wikipedia.org/wiki/Character_encoding
通過使用Charset,CharsetEncoder和CharsetDecoder,您可以選擇特定的字符編碼來保存您的文本,具體取決於您的文件的最終大小可能會有所不同。使用UTF-8(這裏的8表示位),您將最終將每個字符保存在文件中,每個字符各有1個字節。使用UTF-16(這裏的16位表示位),您將使用2個字節保存每個字符。這意味着,當您使用編碼時,您最終會爲每個保存的字符保留一定數量的字節。在下面的鏈接,你可以找到當前的Java API支持的實際編碼:
http://docs.oracle.com/javase/7/docs/technotes/guides/intl/encoding.doc.html
隨着NIO庫,你並不需要實際保存文件知道你的尺寸。如果你只是使用ByteBuffer,你甚至可能已經知道你的文件的最終大小,甚至沒有保存它。
有任何問題,請評論。
- 1. 創建之前檢查文件大小
- 2. 如何在POST數據之前找到文件的大小?
- 3. 如何在vb.net中創建文件之前預測文件大小?
- 4. 如何在創建CustomCell之前計算文本大小
- 5. 如何在創建它之前估計java中的zip文件大小
- 6. 如何創建txt文件
- 7. 如何在iOS 7中下載文件之前查找文件的大小?
- 8. 如何在上傳文件之前檢索文件的大小?
- 9. 如何在jQuery的幫助下在上傳之前找到文件的大小?
- 10. 如何在CMD上創建.txt文件?
- 11. MongoDb在數據大小超過最初分配的文件大小之前創建其他數據文件
- 12. 在sp_send_dbmail之前檢測文件大小
- 13. 如何在上傳之前檢測視頻的文件大小?
- 14. 如何在下載之前知道文件的大小?
- 15. 獲取txt文件大小
- 16. 如何在上傳之前在JavaScript中驗證文件大小
- 17. Linux文件創建大小
- 18. 在調整大小之前猜測gif文件大小
- 19. 如何在show()之前預覽窗口小部件的大小?
- 20. 從LOG/TXT文件創建輸出
- 21. 在上傳之前檢查文件類型(.txt,jpg等)和大小
- 22. 如何在使用git之前查看文件大小?
- 23. 如何在打開R之前檢查文件大小
- 24. Python | HTTP - 如何在下載之前檢查文件大小
- 25. 如何在下載之前獲取文件大小
- 26. 如何使用javascript創建.txt文件?
- 27. 如何從.txt創建.arff文件?
- 28. 如何從runnable jar創建txt文件?
- 29. 如何找到當前在tkinter中的小部件大小?
- 30. 如何在linux中找到當前文件夾大小
而不是寫入'FileOutputStream',寫入'ByteArrayOutputStream'。如果超過64kb就停止。如果沒有,請將其複製到文件中。 –