黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java io流編程練習題,你都會做嗎

Java io流編程練習題,你都會做嗎

更新時間:2020-09-14 17:05:24 來源:動力節點 瀏覽2766次

一.練習的題目

(一)在電腦D盤下創建一個文件為HelloWorld.txt文件,判斷他是文件還是目錄,在創建一個目錄IOTest,之后將HelloWorld.txt移動到IOTest目錄下去;之后遍歷IOTest這個目錄下的文件:

package?com.xykj.lesson1;??
??
import?java.io.File;??
import?java.io.IOException;??
??
??
public?class?Test1?{??
????/**??
?????*?1.?在電腦D盤下創建一個文件為HelloWorld.txt文件,??
?????*?判斷他是文件還是目錄,再創建一個目錄IOTest,??
?????*?之后將HelloWorld.txt移動到IOTest目錄下去;??
?????*?之后遍歷IOTest這個目錄下的文件??
?????*???
?????*?程序分析:??
?????*?1、文件創建使用File的createNewFile()方法??
?????*?2、判斷是文件用isFile(),判斷是目錄用isDirectory??
?????*?3、創建目錄用:mkdirs()方法??
?????*?4、移動文件用:renameTo??
?????*?5、遍歷目錄用:list()方法獲得存放文件的數組,foreach遍歷的方法把文件打印出來??
?????*?*/??
????public?static?void?main(String[]?args)?{??
?????????//在電腦D盤下創建一個文件為HelloWorld.txt文件??
????????File?file=new?File("D:","HelloWorld.txt");??
??????????
????????//創建文件,返回一個布爾值??
????????boolean?isCreate;??
????????try?{??
????????????isCreate?=?file.createNewFile();??
????????????if?(isCreate)?{??
????????????????System.out.println("創建文件成功!");??
????????????}else?{??
????????????????System.out.println("創建文件失敗!文件已經存在");??
????????????}??
????????}?catch?(IOException?e)?{??
????????????System.out.println("創建文件失敗!");??
????????}??
??????????
????????//?判斷他是文件還是目錄,??
????????if?(file.isFile())?{??
????????????System.out.println("這是一個文件");??
????????}?else?{??
????????????System.out.println("這是一個目錄");??
????????}??
??????????
????????//再創建一個目錄IOTest??
????????File?file2=new?File("D:/IOTest");??
????????file2.mkdirs();??
??????????
????????//HelloWorld.txt移動到IOTest目錄下去?失敗?》??
????????if?(file.renameTo(file2))?{??
????????????System.out.println("文件移動成功!");??
????????}?else?{??
????????????System.out.println("文件移動失敗");??
????????}??
??????????
????????//遍歷IOTest目錄下的文件??
????????String[]?arr=file2.list();??
????????for?(String?string?:?arr)?{??
????????????System.out.println(string);??
????????}??
????}??
}

//上面移動文件要指明文件路徑和文件名

上面的file.renameTo(file2)改為:

file.renameTo(file2.getPath + "/" + file.getName());

就不會有錯了。

(二) 遞歸實現輸入任意目錄,列出文件以及文件夾,效果看圖

1.先建一個FileUtile工具類

package?com.xykj.lesson2;??
??
import?java.io.File;??
import?java.util.ArrayList;??
import?java.util.List;??
????/**??
?????*?這是一個獲取目錄下所有文件夾內的所有文件的封裝類??
?????*?當然前提是你要傳進來一個正確路徑的文件夾??
?????*?*/??
public?class?FileUtils?{??
??????
????//獲取文件夾下所有的文件??
????public?static?List?getAllFiles(String?dir){??
??????????
????????//創建一個集合存放遍歷到的File??
????????List<?File?>files=new?ArrayList();??
??????????
????????File?file=new?File(dir);??
????????//文件夾必須存在????????????????并且要是文件夾??
????????if?(file.exists()&&file.isDirectory())?{??
????????????//重點!????這里要本身一直遍歷??
????????????longErgodic(file,files);//把遍歷得到的東西存放在files里面??
????????}??
????????return?files;??
????}??
??????
????//重點理解,這是一個遞歸方法,會不斷來回調用本身,但是所有獲得的數據都會存放在集合files里面??
????private?static?void?longErgodic(File?file,?List?files)?{??
??????????
????????//.listFiles()方法的使用??
????????//把文件夾的所有文件(包括文件和文件名)都放在一個文件類的數組里面???
????????File[]?fillArr=file.listFiles();??
??????????
????????//如果是一個空的文件夾??
?????????if?(fillArr==null)?{??
?????????????//后面的不執行,直接返回??
????????????return;??
????????}??
???????????
????????//如果文件夾有內容,遍歷里面的所有文件(包括文件夾和文件),都添加到集合里面??
?????????for?(File?file2?:?fillArr)?{??
???????????????
?????????????//如果只是想要里面的文件或者文件夾或者某些固定格式的文件可以判斷下再添加??
?????????????files.add(file2);??
???????????????
?????????????//添加到集合后,在來判斷是否是文件夾,再遍歷里面的所有文件??
?????????????//方法的遞歸??
?????????????longErgodic(file2,?files);??
????????}??
????}??
}??

2.再建一個主方法調用類

package?com.xykj.lesson2;??
??
import?java.io.File;??
import?java.util.List;??
??
public?class?Test2?{??
????/**??
?????*?遞歸實現輸入任意目錄,列出文件以及文件夾??
?????*???
?????*?設計:在FileUtils類里面實現了邏輯操作,在另一邊調用就可以了??
?????*?*/??
????public?static?void?main(String[]?args)?{??
?????????//比如輸入D盤??
????????Listlist=FileUtils.getAllFiles("D:");??
????????//輸出所有的文件和文件夾的名字??
????????for?(File?file?:?list)?{??
????????????System.out.println(file);??
????????}??
??
????}??
??
}??

(三) 遞歸實現列出當前工程下所有.java文件

package?com.xykj.lesson3;??
??
import?java.io.File;??
import?java.util.List;??
??
import?com.xykj.lesson2.FileUtils;??
??
public?class?Test3?{??
????/**??
?????*?遞歸實現列出當前工程下所有.java文件??
?????*?還是要題目2的遍歷文件的工具類來獲取所有的文件,再過濾.java文件就可以了??
?????*?當前目錄的地址:輸入.就可以獲取??
?????*?*/??
????public?static?void?main(String[]?args)?{??
?????????//輸入.??獲取當前文件的?所有文件??
????????Listlist=FileUtils.getAllFiles(".");??
????????//輸出.java后綴的文件的名字??
????????for?(File?file?:?list)?{??
????????????if?(file.toString().endsWith(".java"))?{??
????????????????System.out.println(file.getName());??
????????????}??
????????}??
??
????}??
??
}??

(四)從磁盤讀取一個文件到內存中,再打印到控制臺

package?com.xykj.lesson4;??
??
import?java.io.File;??
import?java.io.FileInputStream;??
??
public?class?Tset4?{??
????/**??
?????*?從磁盤讀取一個文件到內存中,再打印到控制臺??
?????*???
?????*?程序設計:??
?????*?1、讀取文件用到FileinputSteam???
?????*?2、把讀取的內容不斷加入到StringBuffer,??
?????*?3、再把StringBuffer打印出來就可以??
?????*?*/??
????public?static?void?main(String[]?args)?{??
??
????????//?讀取D:\notePad\aa.txt里面的內容??
????????File?file?=?new?File("D:\\notePad\\aa.txt");??
????????try?{??
????????????//?創建讀取流即輸入流??
????????????FileInputStream?fis?=?new?FileInputStream(file);??
????????????int?len?=?0;??
????????????byte[]?buf?=?new?byte[1024];??
????????????StringBuffer?sb?=?new?StringBuffer();??
????????????//?把讀取的數據添加到StringBuffer里面??
????????????while?((len?=?fis.read(buf))?!=?-1)?{??
????????????????sb.append(new?String(buf,?0,?len));??
????????????}??
????????????//?把StringBuffer里面的內容打印出來??
????????????System.out.println(sb);??
????????????fis.close();??
????????}?catch?(Exception?e)?{??
????????????e.printStackTrace();??
????????}??
????}??
}

以上就是動力節點java培訓機構的小編針對“Java io流編程練習題,你都會做嗎”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 2022国产精品最新在线 | 国产精品1234区 | 夜色影视| 故意坐公交忘穿内裤被挺进小说 | 亚洲激情视频网站 | 九九精品视频在线播放8 | 网站免黄 | 国产黄色大片在线观看 | 男女男精品视频在线观看 | 桃花岛亚洲精品tv自拍网站 | 国产高清在线精品二区一 | 7777在线| 国产va免费精品观看 | 一个人看的免费高清www视频 | 你懂的网站在线播放 | 日比免费视频 | 国产三级不卡 | 成人免费黄色大片 | 成人在线一区二区三区 | 天堂在线视频 | 国产成人h福利小视频在线观看 | 18av黄动漫在线观看 | 一级一级 a爱片免费视频 | 成人黄色免费观看 | 日韩在线视频线视频免费网站 | 国产一卡二卡 | 综合影院 | 有色视频在线观看 | 性香港xxxxx免费视频播放 | 欧美专区在线视频 | 一级片免费播放 | 99久久精品毛片免费播放 | 中文国产成人精品久久久 | 日本aⅴ精品一区二区三区久久 | 黄色午夜影院 | 色综合视频在线观看 | 日本一区二区免费看 | 国产丝袜大长腿精品丝袜美女 | 毛片污| 亚洲一区精品在线 | 亚欧色视频在线观看免费 |