JAVA入门到精通-第43讲-IO编程-坦克大战10
//我的坦克被擊中,爆炸,消失
//當(dāng)敵人互相有碰撞的時候,不能往前面走了矩形的任何一點不能在另外一個矩形里面最右邊的線不能到另一邊;像一堵墻;
-------------------------------------------------------IO編程(文件編程)暫停存盤退出:繼續(xù)玩耍:文件流:通過文件/數(shù)據(jù)庫來解決:
紅色的表示一個文件:把游戲的相關(guān)數(shù)據(jù)保存在文件上面內(nèi)存/文件的相互保存,讀取;
以內(nèi)存做為參考點;判斷輸入或者輸出;
java io流:字節(jié):以byte的方式;視頻/音頻文件-字節(jié)流;字符流不能操作二進(jìn)制文件;做的好的播放軟件直接讀取文件的信息頭,后綴就是騙人的TXT也可能是被木馬包裝過的病毒文件;
文件對象:File? ? ? ? ? ? ? ?最基礎(chǔ)最根本的類;
----------------------------------------
文件--什么是文件
文件,對我們并不陌生,文件是數(shù)據(jù)源(保存數(shù)據(jù)的地方)的一種,比如大家經(jīng)常使用的word文檔、txt文件、excel文件...都是文件。文件最主要的作用就是保存數(shù)據(jù),它既可以保存一張圖片,也可以保存視頻、聲音...等
?
文件流--基本概念
文件在程序中是以流的形式來操作的。
流:數(shù)據(jù)在數(shù)據(jù)源(文件)和程序(內(nèi)存)之間經(jīng)歷的路徑
輸入流:數(shù)據(jù)從數(shù)據(jù)源(文件)到程序(內(nèi)存)的路徑
輸出流:數(shù)據(jù)從程序(內(nèi)存)到數(shù)據(jù)源(文件)的路徑
如何判斷是輸入流、輸出流?
以內(nèi)存為參照,如果數(shù)據(jù)流向內(nèi)存流動,則是輸入流;反之,則是輸出流java流分為兩種流
1、字節(jié)流:可以用于讀寫二進(jìn)制文件及任何類型文件byte
2、字符流:可以用于讀寫文本文件,不能操作二進(jìn)制文件
??? ??? 字節(jié)流???? ??? 字符流
輸入?? InputStream?? ? ? ??Reader
輸出?? OutputStream? ? ? ? ?Writer
常用io流--文件對象
目的:文件數(shù)據(jù)源File類介紹(文件流對象中最為重要的File類,對File了解后對子類理解會更加容易)
操作系統(tǒng)對磁盤的分配:磁道和塊;很有可能通過引用指針連接,出現(xiàn)磁盤碎片;碎片越多,尋道時間越長;可以通過緩存來處理,寫入緩存再一次性寫入磁盤-電驢,迅雷
//創(chuàng)建文件密碼:xm@100~cqw重要資料備份
在操作系統(tǒng)看,文件/文件夾都是文件;文件夾 只是另一種形式的文件;\\或者/ 這兩種寫法都可以;
//把文件內(nèi)容讀到內(nèi)存---字節(jié)流File沒有讀寫能力,需要InputStream流文件流打開之后,一定要關(guān)閉;read 讀,讀就是讀到內(nèi)存里面去read---byte( );read之后,字節(jié)轉(zhuǎn)換成string
一旦等于-1,說明讀完,n代表實際讀取了多少個字節(jié)數(shù);n代表實際讀取了多少個字節(jié)數(shù);把從0到n的位置的數(shù)做成字符串進(jìn)行輸出;
程序員最大的忌諱:文件流沒有關(guān)閉-finally
File類--使用[Io01.java]
/** * File類的基本用法 */ import java.io.*;//必需加載IO包 public class Io01 { public static void main(String[] args) { //創(chuàng)建一個文件對象 File f1=new File("e:\\aa.txt"); //得到文件的路徑 System.out.println("文件路徑"+f1.getAbsolutePath()); //得到文件的大小,字節(jié)數(shù) System.out.println("文件的大小"+f1.length()); //創(chuàng)建文件夾 File f3=new File("e:\\ff"); //判斷文件夾是否存在 if(f3.isDirectory()){ System.out.println("文件夾存在,不能創(chuàng)建!"); }else{ //創(chuàng)建文件夾 f3.mkdir(); } //創(chuàng)建文件和創(chuàng)建文件夾 File f2=new File("e:\\ff\\hsp.txt"); //判斷文件是否存在 if(!f2.exists()){ //可以創(chuàng)建 try { f2.createNewFile();//創(chuàng)建一個新文件 } catch (Exception e) { e.printStackTrace(); } }else{ System.out.println("文件存在,不能創(chuàng)建!"); } //列出一個文件夾下面的所有文件 File f4=new File("e:\\ff"); //判斷文件夾是事存在 if(f4.isDirectory()){ //將文件夾的文件,傳給lists數(shù)組 File lists[]=f4.listFiles(); //遍歷數(shù)組 for(int i=0;i<lists.length;i++){ //輸出文件夾下所有文件文件名 System.out.println("顯示出文件名是"+lists[i].getName()); } } } } 1/**2 * File類的基本用法3 */4import java.io.*;//必需加載IO包5public class Io01 {6 public static void main(String[] args) {7 //創(chuàng)建一個文件對象8 File f1=new File("e:\\aa.txt");9 //得到文件的路徑10 System.out.println("文件路徑"+f1.getAbsolutePath());11 //得到文件的大小,字節(jié)數(shù)12 System.out.println("文件的大小"+f1.length());13 14 //創(chuàng)建文件夾15 File f3=new File("e:\\ff");16 //判斷文件夾是否存在17 if(f3.isDirectory()){18 System.out.println("文件夾存在,不能創(chuàng)建!");19 }else{20 //創(chuàng)建文件夾21 f3.mkdir();22 }2324 //創(chuàng)建文件和創(chuàng)建文件夾25 File f2=new File("e:\\ff\\hsp.txt");26 //判斷文件是否存在27 if(!f2.exists()){28 //可以創(chuàng)建29 try {30 f2.createNewFile();//創(chuàng)建一個新文件31 } catch (Exception e) {32 e.printStackTrace();33 }34 35 }else{36 System.out.println("文件存在,不能創(chuàng)建!");37 }38 39 //列出一個文件夾下面的所有文件40 File f4=new File("e:\\ff");41 //判斷文件夾是事存在42 if(f4.isDirectory()){43 //將文件夾的文件,傳給lists數(shù)組44 File lists[]=f4.listFiles();45 //遍歷數(shù)組46 for(int i=0;i<lists.length;i++){47 //輸出文件夾下所有文件文件名48 System.out.println("顯示出文件名是"+lists[i].getName());49 }50 }51 }52}53來自為知筆記(Wiz)
轉(zhuǎn)載于:https://www.cnblogs.com/xuxaut-558/p/10045763.html
總結(jié)
以上是生活随笔為你收集整理的JAVA入门到精通-第43讲-IO编程-坦克大战10的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mac下chrome浏览器的标签页、进程
- 下一篇: Jmeter性能测试-GC相关