Java基礎(chǔ)筆記總結(jié)(16)-IO流 File類(lèi)練習(xí)題

獲取文件夾的長(zhǎng)度

private static Long getFileLength(File file) {

long len = 0;

File[] subLists = file.listFiles();

for (File subFile : subLists) {

if(subFile.isFile()){

len += subFile.length();

}else{

len +=getFileLength(subFile);

}

}

return len;

}

刪除文件夾下的所有目錄

public static void deleteDirectory(File file){

File[] subLists = file.listFiles();

for (File subFile : subLists) {

if(subFile.isDirectory()){

deleteDirectory(subFile);

}else if(subFile.isFile()){

? subFile.delete();

}else {

}

}

file.delete();

}

拷貝目錄文件夾

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

// 1、創(chuàng)建于目標(biāo)文件相同的源文件夾

File dir = new File("ccc");

boolean flg =dir.mkdir();

copyFile(new File("aaa"), dir);

// 2、獲取原文件夾中所有的文件和文件夾

// 3、遍歷數(shù)組,如果是文件就用IO流讀寫(xiě)

// 4、如果是文件夾就遞歸調(diào)用

}

public static void copyFile(File originFile,File destFile) throws IOException{

File[] fileList = originFile.listFiles();

for (File subFile : fileList) {

if(subFile.isDirectory()){

File subDestFile = new File(destFile.getAbsolutePath()+"\\"+subFile.getName());

subDestFile.mkdir();

copyFile(subFile, subDestFile);

}else if(subFile.isFile()){

FileInputStream fis = new FileInputStream(subFile);

FileOutputStream fos = new FileOutputStream(destFile.getAbsolutePath()+"\\"+subFile.getName());

int len = 0;

byte[] arr = new byte[1024];

while((len = fis.read(arr))!= -1){

fos.write(arr, 0, len);

}

fis.close();

fos.close();

}

}

}

按照層級(jí)打印

public static void printFileName(File file,int level){

File[] fileLists = file.listFiles();

for (File subFile : fileLists) {

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

System.out.print("\t");

}

System.out.println(subFile);

if(subFile.isDirectory())

printFileName(subFile, level+1);

}

}

}

斐波拉契數(shù)列

public class Demo_Rabbit {

public static void main(String[] args) {

System.out.println(getNewRabbit(6));

}

public static int? getNewRabbit(int num){

if(num == 1){

return 1;

}else if(num ==2){

return 1;

}else{

return getNewRabbit(num-1)+getNewRabbit(num-2);

}

}

}

1000的階乘問(wèn)題

約瑟夫環(huán)

import java.util.ArrayList;

public class Demo_LuckNum {

public static void main(String[] args) {

System.out.println(getLuckNum(8));

}

public static int getLuckNum(int num){

ArrayList<Integer> list = new ArrayList<>();

for (int i = 1; i <= num; i++) {

list.add(i);

}

//去除零

int count = 1;

for (int i = 0; list.size()!=1; i++) {

if(i == list.size()){

i = 0;

}

if(count%3 == 0 ){

list.remove(i--);

}

count++;

}

return list.get(0);

}

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、 1、請(qǐng)用Java寫(xiě)一個(gè)冒泡排序方法 【參考答案】 public static void Bubble(int...
    獨(dú)云閱讀 1,494評(píng)論 0 6
  • 【程序1】 題目:古典問(wèn)題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一對(duì)兔...
    開(kāi)心的鑼鼓閱讀 3,393評(píng)論 0 9
  • 【程序1】 題目:古典問(wèn)題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一...
    阿里高級(jí)軟件架構(gòu)師閱讀 3,384評(píng)論 0 19
  • Java是一種可以撰寫(xiě)跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。Java 技術(shù)具有卓越的通用性、高效性、平臺(tái)移植性和...
    Java小辰閱讀 1,034評(píng)論 0 5
  • 一些想要改造另外一些的人,最終都會(huì)失敗的,結(jié)果要么相互影響,相互同化,要么徹底徹底認(rèn)輸,也有可能會(huì)讓自己陷落。人只...
    一直走別回頭M閱讀 726評(píng)論 0 0

友情鏈接更多精彩內(nèi)容