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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

我這個(gè)拷貝功能為什么沒(méi)有實(shí)現(xiàn)呢 ?反而源文件的內(nèi)容被清空了

package com.File;

import java.io.*;

/**
* Created by Administrator on 2017\8\8 0008.
* 實(shí)現(xiàn)文件拷貝:用帶緩沖區(qū)的字節(jié)流來(lái)實(shí)現(xiàn)
* 寫入目標(biāo)文件不需要判斷是否存在,如果不存在,則自動(dòng)創(chuàng)建
*/
public class CopyFile {
? ?public static void copyFile(File srcFile,File dstFile)throws IOException{
? ? ? ?if(!srcFile.exists()){
? ? ? ? ? ?//拋出異常
? ? ? ? ? ?throw new IllegalArgumentException("文件:"+srcFile+"不存");
? ? ? ?}
? ? ? ?if(!srcFile.isFile()){
? ? ? ? ? ?//拋出異常
? ? ? ? ? ?throw new IllegalArgumentException("不是文件");
? ? ? ?}

? ? ? ?BufferedInputStream bis= new BufferedInputStream(new FileInputStream(srcFile));//默認(rèn)緩沖區(qū)大小
? ? ? ?//BufferedInputStream bis= new BufferedInputStream(new FileInputStream(srcFile),20);指定緩沖區(qū)大小

? ? ? ?BufferedOutputStream ois=new BufferedOutputStream(new FileOutputStream(dstFile));
? ? ? // BufferedOutputStream ois2=new BufferedOutputStream(new FileOutputStream(dstFile),20);
? ? ? ?int c;
? ? ? ?while((c=bis.read())!=-1){
? ? ? ? ? ? ? ?ois.write(c);
? ? ? ? ? ? ? ?ois.flush();//這塊必須要刷新緩沖區(qū),否則數(shù)據(jù)寫不進(jìn)去
? ? ? ?}

? ? ? ?//完成操作之后,需要關(guān)閉
? ? ? ?bis.close();
? ? ? ?ois.close();
? ?}

? ?public static void main(String[] args)throws IOException {
? ? ? ?CopyFile.copyFile(new File("D:\\U盤\\imooc\\Hello.txt"),new File("D:\\U盤\\imooc\\Hello.txt"));
? ?}
}

正在回答

3 回答

因?yàn)槟愕脑次募湍繕?biāo)文件名稱一樣,所以在找目標(biāo)文件時(shí)發(fā)現(xiàn)了和目標(biāo)文件名稱一樣的源文件,就把源文件刪除了重新創(chuàng)建了一個(gè)文件,所以你的源文件就沒(méi)有了,老師視頻里面有講到,當(dāng)你給出一個(gè)路徑時(shí),如果沒(méi)有這個(gè)文件他會(huì)創(chuàng)建這個(gè)文件,如果存在這個(gè)文件他會(huì)把這個(gè)文件刪除再創(chuàng)建,如果你不想這個(gè)已經(jīng)存在的文件被刪除,只是想要續(xù)寫他,需要再加一個(gè)true,如果我沒(méi)記錯(cuò)應(yīng)該是:new File("文件路徑",true),具體的你可以再聽(tīng)一遍

2 回復(fù) 有任何疑惑可以回復(fù)我~

我試了一下可以實(shí)現(xiàn)啊,

? CopyFile.copyFile(new File("E:"+File.separator+"io.txt"),new File("E:"+File.separator+"hello.txt"));//這樣可以兼容不同的系統(tǒng),不建議你那種寫法。

1 回復(fù) 有任何疑惑可以回復(fù)我~

CopyFile.copyFile(new File("D:\\U盤\\imooc\\Hello.txt"),new File("D:\\U盤\\imooc\\Hello.txt"));

第一個(gè)File是源文件,第二個(gè)File是copy之后生成的文件,在文件下面開(kāi)始是沒(méi)有的。

至于為什么同一個(gè)文件copy時(shí)內(nèi)容被刪就不知道了。

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

我這個(gè)拷貝功能為什么沒(méi)有實(shí)現(xiàn)呢 ?反而源文件的內(nèi)容被清空了

我要回答 關(guān)注問(wèn)題
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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