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

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

大神們,來新問題了

為什么這樣可以復(fù)制成功文件但是字節(jié)數(shù)目卻變了,如下
package?InputStreamUtil;

import?java.io.File;
import?java.io.FileInputStream;
import?java.io.FileNotFoundException;
import?java.io.FileOutputStream;
import?java.io.IOException;
import?java.io.InputStreamReader;
import?java.io.OutputStreamWriter;

public?class?InputRaderDemo?{

	public?static?void?main(String[]?args)?throws?IOException?{
		
		Long?start?=?System.currentTimeMillis();
		File?file?=?new?File("G:/深淵黨專屬補(bǔ)丁套裝/file.txt")?;
		File?file1?=?new?File("G:/深淵黨專屬補(bǔ)丁套裝/file1.txt")?;
		if(!file1.isFile()){
			file1.createNewFile();
		}
		InputStreamReader?isr?=?new?InputStreamReader(new?FileInputStream(file));
		OutputStreamWriter?osw?=?new?OutputStreamWriter(new?FileOutputStream(file1));
	
		char?[]buffer?=?new?char[8*1024];
		isr.read(buffer,0,buffer.length);
			String?s?=?new?String(buffer,0,buffer.length);
			System.out.println(s);
		
		osw.write(buffer,0,buffer.length);
		Long?end?=?System.currentTimeMillis();
		isr.close();
		System.out.println("花費(fèi)了"+(end?-?start)+"毫秒");
	}
}

而這樣卻只是創(chuàng)建了文件,而沒有復(fù)制成功,如下

package InputStreamUtil;


import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;


public class InputRaderDemo {


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

Long start = System.currentTimeMillis();

File file = new File("G:/深淵黨專屬補(bǔ)丁套裝/file.txt") ;

File file1 = new File("G:/深淵黨專屬補(bǔ)丁套裝/file1.txt") ;

if(!file1.isFile()){

file1.createNewFile();

}

InputStreamReader isr = new InputStreamReader(new FileInputStream(file));

OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(file1));

char []buffer = new char[8*1024];

int x ;

while((x = isr.read(buffer,0,buffer.length))!=-1){

String s = new String(buffer,0,buffer.length);

System.out.println(s);

? ?osw.write(buffer,0,x);

}

Long end = System.currentTimeMillis();

isr.close();

System.out.println("花費(fèi)了"+(end - start)+"毫秒");

}

}

來吧,都來看看,共同進(jìn)步

正在回答

1 回答

第一個(gè)問題:代碼第30行,osw.write(buffer,0,buffer.length);這句話會把整個(gè)buffer數(shù)組里面的內(nèi)容全部寫到file1.txt中去。buffer數(shù)組的內(nèi)容有兩部分構(gòu)成,一部分是在代碼26行,通過輸入流isr.read(buffer,0,buffer.length)讀入的源文件內(nèi)容,另一部分是buffer數(shù)組的剩余空間填充的無意義的內(nèi)容(因?yàn)閎uffer數(shù)組比你的源文件要大,肯定有剩余空間)。所以在輸出流寫文件的時(shí)候,除了寫入了源文件內(nèi)容,還把buffer數(shù)組里面的剩余空間的那些東西也寫進(jìn)文件里面了。所以最終的結(jié)果就是file1.txt比file.txt的字節(jié)數(shù)要大


第二個(gè)問題:下面的代碼確實(shí)是解決拷貝完文件,兩個(gè)文件大小不一致的一個(gè)好的寫法。但是之所以拷貝失敗,是因?yàn)槟銢]有關(guān)閉輸出流而已。。。加上osw.close();即可??磥聿魂P(guān)閉流會出現(xiàn)莫名其妙的問題,就是指的這個(gè)啊。

????public?static?void?main(String[]?args)?throws?IOException?{
????????Long?start?=?System.currentTimeMillis();
????????File?file?=?new?File("G:/深淵黨專屬補(bǔ)丁套裝/file.txt")?;
????????File?file1?=?new?File("G:/深淵黨專屬補(bǔ)丁套裝/file1.txt")?;

????????if(!file1.isFile())?{
????????????file1.createNewFile();
????????}

????????InputStreamReader?isr?=?new?InputStreamReader(new?FileInputStream(file));
????????OutputStreamWriter?osw?=?new?OutputStreamWriter(new?FileOutputStream(file1));
????????char?[]buffer?=?new?char[8*1024];
????????int?x?;
????????while((x?=?isr.read(buffer,0,buffer.length))!=-1)?{
????????????String?s?=?new?String(buffer,0,buffer.length);
????????????System.out.println(s);
????????????osw.write(buffer,0,x);
????????}

????????Long?end?=?System.currentTimeMillis();

????????isr.close();
????????osw.close();
????????System.out.println("花費(fèi)了"+(end?-?start)+"毫秒");
????}


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

怒放的生命012 提問者

非常感謝!
2016-07-02 回復(fù) 有任何疑惑可以回復(fù)我~
#2

怒放的生命012 提問者

非常感謝,剛開始確實(shí)沒有發(fā)現(xiàn)問題,聽你一說頓時(shí)清楚了,也明白了,關(guān)閉流的重要性
2016-07-02 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
文件傳輸基礎(chǔ)——Java IO流
  • 參與學(xué)習(xí)       133812    人
  • 解答問題       1058    個(gè)

為您介紹IO流的使用,以及對象的序列化和反序列化的內(nèi)容

進(jìn)入課程

大神們,來新問題了

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

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

幫助反饋 APP下載

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

公眾號

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