欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)激活碼778899分享:Java之文件操作和IO

柚子快報(bào)激活碼778899分享:Java之文件操作和IO

http://yzkb.51969.com/

目錄

File類

屬性

構(gòu)造方法

方法??

文件內(nèi)容的讀寫(xiě)

InputStream

OutputStream

File類

屬性

修飾符及類型屬性說(shuō)明static StringpathSeparator依賴于系統(tǒng)的路徑分隔符,String類型的表示static charpathSeparator依賴于系統(tǒng)的路徑分隔符,char類型的表示

??

構(gòu)造方法

簽名說(shuō)明File(File parent,String child)根據(jù)父目錄+孩子文件路徑,創(chuàng)建一個(gè)新的File實(shí)例File(String pathname)根據(jù)文件路徑創(chuàng)建一個(gè)新的File實(shí)例,路徑可以是絕對(duì)路徑或者相對(duì)路徑File(String parent,String child)根據(jù)父目錄+孩子文件路徑,創(chuàng)建一個(gè)新的File實(shí)例,父目錄用路徑表示

方法??

修飾符及方法返回值類型方法簽名說(shuō)明StringgetParent()返回File對(duì)象的父目錄文件路徑StringgetName()返回File對(duì)象的純文件名稱StringgetPath()返回File對(duì)象的文件路徑StringgetAbsolutePath()返回File對(duì)象的的絕對(duì)路徑StringgetCanonicalPath()返回File對(duì)象的修飾過(guò)的絕對(duì)路徑booleanexists()判斷File對(duì)象描述的文件是否真實(shí)存在booleanisDirectory()判斷File對(duì)象代表的文件是否是一個(gè)目錄booleanisFile()判斷File對(duì)象代表的文件是否是一個(gè)普通文件booleancreateNewFile()根據(jù)File對(duì)象,自動(dòng)創(chuàng)建一個(gè)空文件,成功創(chuàng)建后返回truebooleandelete()根據(jù)File對(duì)象,刪除該文件,成功刪除后返回truevoiddeleteOnExit()根據(jù)File對(duì)象,標(biāo)注文件將被刪除,刪除動(dòng)作會(huì)到JVM運(yùn)行結(jié)束后才會(huì)進(jìn)行String[]list()返回File對(duì)象代表的目錄下的所有文件名File[]listFiles()返回File對(duì)象代表的目錄下的所有文件,以File對(duì)象表示booleanmkdir()創(chuàng)建File對(duì)象代表的目錄booleanmkdirs()創(chuàng)建File對(duì)象代表的目錄,如果必要,會(huì)創(chuàng)建中間目錄booleanrenameTo(Filedest)進(jìn)行文件改名,也可以視為剪切,粘貼操作booleancanRead()判斷用戶是否對(duì)文件有可讀權(quán)限booleancanWrite() 判斷用戶是否對(duì)文件有可寫(xiě)權(quán)限

代碼示例1

public class demo1 {

public static void main(String[] args) throws IOException {

File f=new File("./test.txt");

System.out.println(f.getParent());

System.out.println(f.getName());

System.out.println(f.getPath());

System.out.println(f.getAbsolutePath());

System.out.println(f.getCanonicalPath());

}

}

運(yùn)行結(jié)果

代碼示例2

public class demo2 {

public static void main(String[] args) throws IOException {

File file=new File("d:/test.txt");

System.out.println(file.exists());

System.out.println(file.isDirectory());

System.out.println(file.isFile());

//創(chuàng)建文件

boolean ret=file.createNewFile();

System.out.println("ret = "+ret);

System.out.println(file.exists());

System.out.println(file.isDirectory());

System.out.println(file.isFile());

}

}

運(yùn)行結(jié)果

代碼示例3

public class demo3 {

public static void main(String[] args) throws InterruptedException {

File f=new File("d:/test.txt");

// boolean ret=f.delete();

// System.out.println("ret = "+ret);

f.deleteOnExit();

Thread.sleep(5000);

System.out.println("進(jìn)程結(jié)束");

}

}

第二種刪除方式是進(jìn)程運(yùn)行結(jié)束后才刪除。

代碼示例4

public class demo4 {

public static void main(String[] args) {

File f=new File("d:/");

String[] files=f.list();

System.out.println(Arrays.toString(files));

}

}

運(yùn)行結(jié)果

代碼示例5

public class demo5 {

public static void main(String[] args) {

File f=new File("d:/aaa/bbb/ccc");

// boolean ret=f.mkdir();

boolean ret=f.mkdirs();

System.out.println("ret = "+ret);

}

}

運(yùn)行結(jié)果

文件內(nèi)容的讀寫(xiě)

InputStream

方法

修飾符及返回值類型方法簽名說(shuō)明intread()讀取一個(gè)字節(jié)的數(shù)據(jù),返回-1代表已經(jīng)完全讀完了intread(byte[] b)最多讀取b.length字節(jié)的數(shù)據(jù)到b中,返回實(shí)際獨(dú)到的數(shù)量,-1代表讀完了intread(byte[] b,int off,int len)最多讀取len-off字節(jié)的數(shù)據(jù)到b中,放在從off開(kāi)始,返回實(shí)際獨(dú)到的數(shù)量,-1代表讀完了readclose()關(guān)閉字節(jié)流

InputStream 只是一個(gè)抽象類,要使用還需要具體的實(shí)現(xiàn)類。關(guān)于 InputStream 的實(shí)現(xiàn)類有很多,基本可以認(rèn)為不同的輸入設(shè)備都可以對(duì)應(yīng)一個(gè) InputStream 類,我們現(xiàn)在只關(guān)心從文件中讀取,所以使用 FileInputStream?。

FileInputStream

簽名說(shuō)明FileInputStream(File file)利用File構(gòu)造文件輸入流FileInputStream(String name)利用文件路徑構(gòu)造文件輸入流

代碼示例1

public class demo9 {

public static void main(String[] args) {

try(InputStream inputStream=new FileInputStream("d:/test.txt")){

byte[] buffer=new byte[1024];

int n=inputStream.read(buffer);

System.out.println("n = "+n);

for (int i = 0; i < n; i++) {

System.out.printf("%x\n",buffer[i]);

}

} catch (FileNotFoundException e) {

throw new RuntimeException(e);

} catch (IOException e) {

throw new RuntimeException(e);

}

}

}

?運(yùn)行結(jié)果

代碼示例2

public class demo11 {

public static void main(String[] args) {

try(InputStream inputStream=new FileInputStream("d:/test.txt")){

Scanner scanner=new Scanner(inputStream);

String s=scanner.next();

System.out.println(s);

} catch (FileNotFoundException e) {

throw new RuntimeException(e);

} catch (IOException e) {

throw new RuntimeException(e);

}

}

}

??運(yùn)行結(jié)果

OutputStream

方法

修飾符及返回值類型方法簽名說(shuō)明voidwrite(int b)寫(xiě)入一個(gè)字節(jié)的數(shù)據(jù)voidwrite(byte[] b)將b這個(gè)字節(jié)數(shù)組中的數(shù)組全部寫(xiě)入OSintwrite(byte[] b,int off,int len)將b這個(gè)字節(jié)數(shù)組中從off開(kāi)始的數(shù)據(jù)寫(xiě)入OS,一共寫(xiě)len個(gè)voidclose()關(guān)閉字節(jié)流voidflush()

重要:我們知道

I/O

的速度是很慢的,所以,大多的

OutputStream

為了減少設(shè)備操作的次數(shù),在寫(xiě)數(shù)據(jù)的時(shí)候都會(huì)將數(shù)據(jù)先暫時(shí)寫(xiě)入內(nèi)存的

一個(gè)指定區(qū)域里,直到該區(qū)域滿了或者其他指定條件時(shí)才真正將數(shù)據(jù)寫(xiě)

入設(shè)備中,這個(gè)區(qū)域一般稱為緩沖區(qū)。但造成一個(gè)結(jié)果,就是我們寫(xiě)的

數(shù)據(jù),很可能會(huì)遺留一部分在緩沖區(qū)中。需要在最后或者合適的位置,

調(diào)用

flush

(刷新)操作,將數(shù)據(jù)刷到設(shè)備中。

?OutputStream 同樣只是一個(gè)抽象類,要使用還需要具體的實(shí)現(xiàn)類。我們現(xiàn)在還是只關(guān)心寫(xiě)入文件中,所以使用 FileOutputStream。

代碼示例1

public class demo10 {

public static void main(String[] args) {

try(OutputStream outputStream=new FileOutputStream("d:/test.txt",true)) {

String s="你好世界";

outputStream.write(s.getBytes());

} catch (FileNotFoundException e) {

throw new RuntimeException(e);

} catch (IOException e) {

throw new RuntimeException(e);

} ;

}

}

運(yùn)行結(jié)果

代碼示例2

public class demo12 {

public static void main(String[] args) {

try(OutputStream outputStream=new FileOutputStream("d:/test.txt")){

PrintWriter writer=new PrintWriter(outputStream);

writer.println("hello");

writer.flush();

} catch (FileNotFoundException e) {

throw new RuntimeException(e);

} catch (IOException e) {

throw new RuntimeException(e);

}

}

}

運(yùn)行結(jié)果

代碼示例3

刪除指定目錄下的指定關(guān)鍵詞的文件

public class demo13 {

public static void main(String[] args) {

Scanner scanner=new Scanner(System.in);

System.out.println("請(qǐng)輸入要掃描的路徑");

String path=scanner.next();

File rootPath=new File(path);

if(!rootPath.isDirectory()){

System.out.println("輸入的路徑有誤");

return;

}

System.out.println("請(qǐng)輸入要?jiǎng)h除文件的關(guān)鍵詞");

String word=scanner.next();

scanDir(rootPath,word);

}

private static void scanDir(File rootPath,String word){

File[] files=rootPath.listFiles();

if(files==null)

return;

for (File f:files) {

System.out.println("當(dāng)前掃描的文件:"+f.getAbsolutePath());

if(f.isFile())

checkDelete(f,word);

else

scanDir(f,word);

}

}

private static void checkDelete(File f,String word){

if(!f.getName().contains(word))

return;

System.out.println("當(dāng)前文件為:"+f.getAbsolutePath()+",請(qǐng)確認(rèn)是否刪除");

Scanner scanner=new Scanner(System.in);

String choice=scanner.next();

if(choice.equals("Y") || choice.equals("y")){

f.delete();

System.out.println("刪除完畢");

}else{

System.out.println("取消刪除");

}

}

}

柚子快報(bào)激活碼778899分享:Java之文件操作和IO

http://yzkb.51969.com/

精彩內(nèi)容

評(píng)論可見(jiàn),查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19461849.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問(wèn)

文章目錄