摘要:,關(guān)于類類是包中唯一代表磁盤文件本身的對象,類定義了一些與平臺無關(guān)的方法來操作文件。通過調(diào)用類提供的各種方法,能夠完成創(chuàng)建刪除文件重命名文件判斷文件的讀寫權(quán)限權(quán)限是否存在設(shè)置和查詢文件的最近修改時間等操作。
1,關(guān)于File類
File類是IO包中唯一代表磁盤文件本身的對象,2,F(xiàn)ile類主要操作
File類定義了一些與平臺無關(guān)的方法來操作文件。
通過調(diào)用File類提供的各種方法,能夠完成創(chuàng)建、刪除文件、重命名文件、判斷文件的讀寫權(quán)限權(quán)限是否存在、設(shè)置和查詢文件的最近修改時間等操作。
public static void main(String[] args) { //File類的靜態(tài)變量,分別代表當(dāng)前系統(tǒng)下的:; ; System.out.println(File.pathSeparator); System.out.println(File.pathSeparatorChar); System.out.println(File.separator); System.out.println(File.separatorChar); String pathName = "D:" + File.separator + "mytemp";//在win下等同于:D:/mytemp 或 D:mytemp /** * File共有4中構(gòu)造方法,沒有無參構(gòu)造方法 * 1,傳入路徑(常用) * 2,傳入URI * 3,傳入父File,子路徑 * 4,傳入父路徑,子路徑 */ File file = new File(pathName);//獲得D:/mytemp這個對象 if(file.exists() && file.isDirectory()) {//file是否存在并且是否是目錄 System.out.println("file是目錄 "); File[] files = file.listFiles();//獲取目錄下的子目錄和文件(僅當(dāng)層目錄下) System.out.println("目錄下有: "); for(File f : files) { System.out.println(f); } System.out.println("############################# "); System.out.println(files[0].isFile() ? "files[0]是文件" : "files[0]是目錄"); System.out.println("files[0]的名字:" + files[0].getName()); System.out.println("files[0]的路徑:" + files[0].getPath()); System.out.println("files[0]的絕對路徑:" + files[0].getAbsolutePath()); System.out.println("files[0]的父目錄路徑" + files[0].getParent()); System.out.println(files[0].canRead() ? "files[0]可讀" : "files[0]可讀"); System.out.println(files[0].canWrite() ? "files[0]可寫" : "files[0]可寫"); System.out.println(files[0].canExecute() ? "files[0]可執(zhí)行" : "files[0]可執(zhí)行"); System.out.println(files[0].isAbsolute() ? "files[0]的路徑是絕對路徑" : "files[0]的路徑不是絕對路徑"); System.out.println("files[0]的路徑轉(zhuǎn)換為URI:" + files[0].toURI()); long lastModifiedTime = files[0].lastModified();//獲得文件上次修改時間,單位s Date date = new Date(lastModifiedTime); SimpleDateFormat dateFormate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String format = dateFormate.format(date); System.out.println("files[0]的上次修改時間:" + format); //刪除文件的時候,不會進(jìn)入回收站 //刪除目錄的時候,如果有子文件或子目錄,不會刪除成功 if(files[2].exists()) { files[2].delete();//刪除files[2],這是一個目錄 } if(files[6].exists()) { files[6].deleteOnExit();//當(dāng)虛擬機(jī)終止時刪除files[6],這是一個文件 } } }3,創(chuàng)建File
@Test public void test() throws IOException { File parent = new File("D:" + File.separator + "mytemp"); if(parent.exists()) { System.out.println("父目錄存在"); File childFile = new File(parent,"a.txt"); if(childFile.createNewFile()) {//創(chuàng)建文件,如果創(chuàng)建成功 System.out.println("文件創(chuàng)建成功!");//如果存在同名文件,不會創(chuàng)建 }; File childDirectory = new File(parent,"a"); if(childDirectory.mkdir()) {//創(chuàng)建目錄,如果創(chuàng)建成功 System.out.println("目錄創(chuàng)建成功!");//如果存在同名目錄,不會創(chuàng)建 }; } }4,刪除File
public static void deleteFile(File file) { File[] files = file.listFiles(); if(files != null) { for(File f : files) { if(f.isDirectory()) { deleteFile(f); } f.delete(); } } file.delete(); }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/72052.html
摘要:學(xué)習(xí)筆記二流的概念在程序中所有的數(shù)據(jù)都是以流的方式進(jìn)行傳輸或保存的,程序需要數(shù)據(jù)的時候要使用輸入流讀取數(shù)據(jù),而當(dāng)程序需要將一些數(shù)據(jù)保存起來的時候,就要使用輸出流完成。主要功能是向文件中寫入內(nèi)容構(gòu)造函數(shù)根據(jù)給定的對象構(gòu)造一個對象。 Java IO學(xué)習(xí)筆記二 流的概念 在程序中所有的數(shù)據(jù)都是以流的方式進(jìn)行傳輸或保存的,程序需要數(shù)據(jù)的時候要使用輸入流讀取數(shù)據(jù),而當(dāng)程序需要將一些數(shù)據(jù)保存起來...
摘要:字節(jié)流可以處理所有以為單位存儲的文件,也就是說可以處理所有的文件,但是在處理字符的速度上不如字符流。文件字節(jié)輸入流的讀取時,是直接同字節(jié)流中讀取的。原理就是在字節(jié)流的基礎(chǔ)上增加了編解碼的操作。 前言 流是干什么的:為了永久性的保存數(shù)據(jù)。 IO流用來處理設(shè)備之間的數(shù)據(jù)傳輸(上傳和下載文件) java對數(shù)據(jù)的操作是通過流的方式。 java用于操作流的對象都在IO包中。 java IO系統(tǒng)...
摘要:學(xué)習(xí)筆記三在整個包中,實(shí)際上就是分為字節(jié)流和字符流,但是除了這兩個流之外,還存在了一組字節(jié)流字符流的轉(zhuǎn)換類。是字節(jié)流通向字符流的橋梁它使用指定的讀取字節(jié)并將其解碼為字符。主要的功能還是向文件中寫入文件構(gòu)造函數(shù)創(chuàng)建使用默認(rèn)字符編碼的。 Java IO學(xué)習(xí)筆記三 在整個IO包中,實(shí)際上就是分為字節(jié)流和字符流,但是除了這兩個流之外,還存在了一組字節(jié)流-字符流的轉(zhuǎn)換類。 OutputStre...
摘要:是方法返回值的數(shù)據(jù)類型。方法名和參數(shù)表共同構(gòu)成方法簽名。構(gòu)造方法和它所在類的名字相同,但構(gòu)造方法沒有返回值。輸入流表示從一個源讀取數(shù)據(jù),輸出流表示向一個目標(biāo)寫數(shù)據(jù)。下圖是一個描述輸入流和輸出流的類層次圖。有多種構(gòu)造方法可用來創(chuàng)建對象。 我們經(jīng)常使用到 System.out.println(),那么它是什么呢? 一、系統(tǒng)方法 我們經(jīng)常使用到 System.out.println(),那么...
摘要:時間年月日星期五說明本文部分內(nèi)容均來自慕課網(wǎng)。慕課網(wǎng)教學(xué)源碼無學(xué)習(xí)源碼第一章課程簡介引言通過一個項(xiàng)目案例的講解,如何在應(yīng)用中實(shí)現(xiàn)圖片水印的添加。 時間:2017年07月21日星期五說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com教學(xué)源碼:無學(xué)習(xí)源碼:https://github.com/zccodere/s... 第一章:課程簡介 1-1 引言 通過一...
閱讀 2195·2023-04-25 20:45
閱讀 1103·2021-09-22 15:13
閱讀 3679·2021-09-04 16:48
閱讀 2603·2019-08-30 15:53
閱讀 961·2019-08-30 15:44
閱讀 986·2019-08-30 15:43
閱讀 1038·2019-08-29 16:33
閱讀 3459·2019-08-29 13:08