第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

萌新向各位請(qǐng)教一個(gè)很基礎(chǔ)的問(wèn)題

萌新向各位請(qǐng)教一個(gè)很基礎(chǔ)的問(wèn)題

代碼后續(xù)上來(lái),就是我用遞歸掃了一邊個(gè)人U盤(pán),然后打算把掃到的東西放進(jìn)一個(gè)新建的文件夾,不知道為什么老報(bào)錯(cuò)。請(qǐng)大佬指教!代碼: import?java.io.File; import?java.io.FileOutputStream; import?java.util.ArrayList; public?class?File1?{ ????public?static?void?main(String[]?args)?throws?Exception?{ //創(chuàng)建File對(duì)象。傳入路徑 ????????File?f?=?new?File("G:\\"); ????????try?{ ????????????showfile(f);//調(diào)用靜態(tài)showfile方法 ????????}?catch?(Exception?e)?{ ????????????e.printStackTrace(); ????????} ????????System.out.println("長(zhǎng)度為:"?+?f.length()); //????????System.out.println("路徑:"+f.getPath()); //????????System.out.println("父路徑:"+f.getParentFile()); ????} ????public?static?void?showfile(File?f)?throws?Exception?{ ????????//判斷目錄是否為空 ????????if?(f?!=?null)?{ ????????????//打印目錄名 ????????????System.out.println(f.getName()); ????????????//判斷是否為目錄 ????????????if?(f.isDirectory())?{ ????????????????File?fs1;//定義fs1變量 ????????????????File[]?fs?=?f.listFiles();//fs數(shù)組接收 ????????????????if?(fs?!=?null)?{//判斷目錄是否為空 ????????????????????for?(int?i?=?0;?i?<?fs.length;?i++)?{ ????????????????????????fs1?=?fs[i];//接收遞歸后數(shù)據(jù) ????????????????????????showfile(fs1);//傳入showfile方法 //定義集合 ????????????????????????ArrayList<File>?al?=?new?ArrayList<File>(); ????????????????????????//把遞歸掃到的數(shù)據(jù)丟進(jìn)集合 ????????????????????????al.add(fs1); ????????????????????????//創(chuàng)建新建目錄路徑 ????????????????????????File?ar?=?new?File("G:\\TestAR"); ????????????????????????//創(chuàng)建目錄 ????????????????????????ar.mkdir(); ????????????????????????//創(chuàng)建輸出流 ????????????????????????FileOutputStream?out?=?null; ????????????????????????try?{ ????????????????????????????//創(chuàng)建輸出路徑 ????????????????????????????out?=?new?FileOutputStream("G:\\TestAR"); //創(chuàng)建準(zhǔn)備輸出的代碼 ????????????????????????????File?fs2?=?fs1; ????????????????????????????byte?bs[]?=?fs2.listFiles(); ????????????????????????????out.write(bs,?0,?60000); ????????????????????????????System.out.println("Test"); ????????????????????????}?catch?(Exception?e)?finally?{ ????????????????????????????if?(ar?!=?null)?{ ????????????????????????????????out.close(); ????????????????????????????} ????????????????????????} ????????????????????} ????????????????} ????????????} ????????} ????} }
查看完整描述

3 回答

?
風(fēng)洛洛

TA貢獻(xiàn)11條經(jīng)驗(yàn) 獲得超2個(gè)贊

import?java.io.File;
import?java.io.FileInputStream;
import?java.io.FileOutputStream;
import?java.util.ArrayList;

public?class?File1?{
????public?static?void?main(String[]?args)?throws?Exception?{
//創(chuàng)建File對(duì)象。傳入路徑
????????File?f?=?new?File("E:\\test");
????????try?{
????????????showfile(f);//調(diào)用靜態(tài)showfile方法
????????}?catch?(Exception?e)?{
????????????e.printStackTrace();
????????}
????????System.out.println("長(zhǎng)度為:"?+?f.length());
//????????System.out.println("路徑:"+f.getPath());
//????????System.out.println("父路徑:"+f.getParentFile());


????}

????public?static?void?showfile(File?f)?throws?Exception?{
????????//判斷目錄是否為空
????????//你要想連目錄都要遍歷,那必須得去除掉之前的根路徑,再在新的路徑下創(chuàng)建?,?我簡(jiǎn)單做處理
????????if?(f?!=?null)?{
????????????//打印目錄名
????????????System.out.println(f.getAbsolutePath());
????????????//判斷是否為目錄
????????????if?(f.isDirectory())?{
????????????????File?fs1;//定義fs1變量
????????????????File[]?fs?=?f.listFiles();//fs數(shù)組接收
????????????????if?(fs?!=?null)?{//判斷目錄是否為空
????????????????????for?(int?i?=?0;?i?<?fs.length;?i++)?{
????????????????????????fs1?=?fs[i];//接收遞歸后數(shù)據(jù)
????????????????????????showfile(fs1);//傳入showfile方法

????????????????????????//定義集合
????????????????????????//你的這個(gè)集合完全沒(méi)有意義
????????????????????????ArrayList<File>?al?=?new?ArrayList<File>();
????????????????????????//把遞歸掃到的數(shù)據(jù)丟進(jìn)集合
????????????????????????al.add(fs1);
????????????????????????//創(chuàng)建新建目錄路徑
????????????????????????File?ar?=?new?File("E:\\TestAR");
????????????????????????//這里你應(yīng)該先判斷下,目錄是否存在
????????????????????????if(!ar.exists()){
????????????????????????????//不存在??創(chuàng)建目錄
????????????????????????????ar.mkdir();
????????????????????????}
????????????????????????//得先判斷?文件是否是目錄,是目錄直接在新的目錄下創(chuàng)建目錄就行
????????????????????????if(fs1.isDirectory()){
????????????????????????????File?newDir?=?new?File("E:\\TestAR\\"+fs1.getAbsolutePath().substring("E:\\test".length()));
????????????????????????????if(!newDir.exists()){
????????????????????????????????newDir.mkdir();
????????????????????????????}
????????????????????????}else{
????????????????????????????//如果他的根路徑不存在?,?先創(chuàng)建目錄
????????????????????????????String?dirStr?=?"E:\\TestAR\\"+fs1.getAbsolutePath().substring("E:\\test".length());
????????????????????????????dirStr?=?dirStr.substring(0,dirStr.length()?-?fs1.getName().length());
????????????????????????????File?dir?=?new?File(dirStr);
????????????????????????????if(!dir.exists()){
????????????????????????????????dir.mkdir();
????????????????????????????}
????????????????????????????//先創(chuàng)建文件
????????????????????????????File?file?=?new?File("E:\\TestAR\\"+fs1.getAbsolutePath().substring("E:\\test".length()));
????????????????????????????if(!file.exists()){
????????????????????????????????file.createNewFile();
????????????????????????????}
????????????????????????????//創(chuàng)建輸出流
????????????????????????????FileOutputStream?out?=?null;
????????????????????????????FileInputStream?in?=?null;
????????????????????????????try?{
????????????????????????????????//創(chuàng)建輸出路徑
????????????????????????????????out?=?new?FileOutputStream(file);

????????????????????????????????//創(chuàng)建準(zhǔn)備輸出的代碼
????????????????????????????????File?fs2?=?fs1;
????????????????????????????????//這里的
????????????????????????????????in?=?new?FileInputStream(fs2);
????????????????????????????????//沒(méi)理解你這里要干嘛。。。
//????????????????????????????File?bs[]?=?fs2.listFiles();
????????????????????????????????byte[]?bs?=?new?byte[2048];
????????????????????????????????while(in.read(bs)!=-1){
????????????????????????????????????out.write(bs);
????????????????????????????????????bs?=?new?byte[2048];
????????????????????????????????}
//????????????????????????????out.write(bs,?0,?60000);
//????????????????????????????System.out.println("Test");
????????????????????????????}?catch?(Exception?e){
????????????????????????????????//這里之前少這塊?,?先直接堆棧打出來(lái)吧
????????????????????????????????e.printStackTrace();
????????????????????????????}finally?{
//????????????????????????????這里應(yīng)該判斷流是否存在?并關(guān)閉
//????????????????????????????if?(ar?!=?null)?{
????????????????????????????????if(out!=null){
????????????????????????????????????out.close();
????????????????????????????????}
????????????????????????????????if(in!=null){
????????????????????????????????????in.close();
????????????????????????????????}
????????????????????????????}
????????????????????????}


????????????????????}
????????????????}
????????????}
????????}
????}
}

這里 多說(shuō)兩句。。。 我這是在你那原基礎(chǔ)上改的。。。所以有點(diǎn)亂,怕重新設(shè)計(jì)了你又看不懂了。

這里給點(diǎn)建議:

  1. 名字起得有意義些,我改的時(shí)候感覺(jué)根本不知道命名是什么意思

  2. 寫(xiě)代碼最起碼編譯得過(guò),而且,設(shè)計(jì)時(shí)考慮全面些= =你之前代碼沒(méi)有考慮文件夾里面有文件夾怎么辦

  3. 建議你再看下io那里

查看完整回答
反對(duì) 回復(fù) 2017-01-17
?
風(fēng)洛洛

TA貢獻(xiàn)11條經(jīng)驗(yàn) 獲得超2個(gè)贊

額,你這個(gè)代碼 編譯期錯(cuò)誤都沒(méi)處理掉吧。。。建議最起碼編譯先過(guò)了

查看完整回答
反對(duì) 回復(fù) 2017-01-17
  • 3 回答
  • 0 關(guān)注
  • 1551 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)