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

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

代碼有點(diǎn)混亂

不能在講到一個(gè)內(nèi)容的時(shí)候,新建一個(gè)包把本節(jié)的代碼放進(jìn)里面,這樣代碼就不會(huì)那么混亂了,每個(gè)章節(jié)都有相應(yīng)的包相應(yīng)的代碼這樣好讓學(xué)習(xí)者更快掌握

正在回答

4 回答

import?java.io.BufferedInputStream;
import?java.io.BufferedOutputStream;
import?java.io.BufferedReader;
import?java.io.BufferedWriter;
import?java.io.DataInputStream;
import?java.io.DataOutputStream;
import?java.io.File;
import?java.io.FileInputStream;
import?java.io.FileOutputStream;
import?java.io.FileReader;
import?java.io.FileWriter;
import?java.io.IOException;
import?java.io.InputStreamReader;
import?java.io.OutputStreamWriter;
import?java.io.PrintWriter;
public?class?IOUtil?{
?
?/**
??*?單字節(jié)讀取
??*?不適合大文件,讀取大文件效率很低
??*?@param?filename
??*?@throws?IOException
??*/
?public?static?void?printHex(String?filename)?throws?IOException{
??FileInputStream?in?=?new?FileInputStream(filename);
??int?b;
??int?i?=?1;
??while(?(b=in.read())!=?-1){
???if(b?<?0xf){
????//單位數(shù)前面補(bǔ)0
????System.out.print("0");
???}
???System.out.print(Integer.toHexString(b)+"??");
???i++;
???if(i%10==0){
????System.out.println();
???}
??}
??in.close();
?}
?
?/**
??*?批量讀取字節(jié)
??*?讀取大文件,效率很高,也是最常用的讀取文件的方法
??*?@param?filename
??*?@throws?IOException
??*/
?public?static??void?printHexByByteArray(String?filename)?throws?IOException?{
??FileInputStream?in?=?new?FileInputStream(filename);
??byte?buf[]?=?new?byte[20*1024];
??//從in中批量讀取字節(jié),放到buf字節(jié)數(shù)組中,從第0個(gè)位置放,最多放buf.length個(gè),返回的是讀到的字節(jié)個(gè)數(shù)
??int?b?=?in.read(buf,?0,?buf.length);//一次性讀完,說明字節(jié)數(shù)組足夠大
??int?j?=?1;
??for(int?i=0;?i<b;?i++){
???if(buf[i]?<=?0xf){
????System.out.print(0);
???}
???System.out.print(Integer.toHexString(buf[i]?&?0xff)+"??");//byte只有8位,而int有32位,所以?&?0xff可以清除高位上的數(shù)
???if(j++%10==0){
????System.out.println();
???}
??}
??in.close();
?}
?
?public?static?void?copyFileByByte(File?src,?File?dst)?throws?IOException{
??if(!src.exists()){
???throw?new?IllegalArgumentException("文件"+src+"不存在!");
??}
??if(!src.isFile()){
???throw?new?IllegalArgumentException(src+"不是文件");
??}
??FileInputStream?in?=?new?FileInputStream(src);
??FileOutputStream?out?=?new?FileOutputStream(dst);
??int?b?=?0;
??while((b?=?in.read())?!=?-1?){
???out.write(b);
??}
??in.close();
??out.close();
?}
?
?/**
??*?FileOutputStream復(fù)制文件
??*?用字節(jié)數(shù)組批量讀取文件
??*?@param?src
??*?@param?dst
??*?@throws?IOException
??*/
?public?static?void?copyFileByByteArray?(File?src,File?dst)?throws?IOException{
??if(!src.exists()){
???throw?new?IllegalArgumentException("文件"+src+"不存在!");
??}
??if(!src.isFile()){
???throw?new?IllegalArgumentException(src+"不是文件");
??}
??FileInputStream?in?=?new?FileInputStream(src);
??/*
???*?當(dāng)dst不存在時(shí),會(huì)自動(dòng)創(chuàng)建,如果存在,刪除后在創(chuàng)建
???*?如果增加true,則不會(huì)刪除原文件,會(huì)在原文件尾部寫出新內(nèi)容
???*/
??FileOutputStream?out?=?new?FileOutputStream(dst,true);
??byte?buf[]?=?new?byte[10*1024];
??int?b?=?in.read(buf);
??out.write(buf,?0,?b);
??out.flush();
????????in.close();
????????out.close();
??
?}
?
?/**
??*?DataOutputStream
??*?@throws?IOException
??*/
?public?static?void?dataOutputStream()?throws?IOException{
??String?filename?=?"A/B.txt";
??DataOutputStream?out?=?new?DataOutputStream(new?FileOutputStream(filename));
??out.writeInt(6);
??out.writeDouble(4.9);
??out.writeLong(8l);
??out.writeUTF("張基");//以u(píng)tf-8寫入
??out.writeChars("張基");//以u(píng)tf-16be寫入
??out.close();
??
?}
?
?/**
??*?DataInputStream
??*?@throws?IOException
??*/
?public?static?void?dataInputStream()?throws?IOException{
??String?filename?=?"A/B.txt";
??DataInputStream?in?=?new?DataInputStream(new?FileInputStream(filename));
??int?i?=?in.readInt();?
??System.out.println(i);
??double?j?=?in.readDouble();?
??System.out.println(j);
??long?k?=?in.readLong();
??System.out.println(k);
??String?str1?=?in.readUTF();
??System.out.println(str1);
??char?c?=?'\0';
??while(?(c?=?in.readChar()?)?!=?'\0'?){
???System.out.print(c);
??}
??in.close();
?}
?
?/**
??*?BufferedInputStream?,?BufferedOutputStream
??*?用帶緩沖的字節(jié)流復(fù)制文件
??*?@param?src
??*?@param?dst
??*?@throws?IOException
??*/
?public?static?void?copyFileByBuffer(File?src,?File?dst)?throws?IOException{
??if(!src.exists()){
???throw?new?IllegalArgumentException("文件"+src+"不存在!");
??}
??if(!src.isFile()){
???throw?new?IllegalArgumentException(src+"不是文件");
??}
??BufferedInputStream?in?=?new?BufferedInputStream(new?FileInputStream(src));
??BufferedOutputStream?out?=?new?BufferedOutputStream(new?FileOutputStream(dst));
??int?b?=?0;
??while((b?=?in.read())?!=?-1){
???out.write(b);
???out.flush();//刷新緩沖區(qū)
??}
??in.close();
??out.close();
?}
?
?/**
??*?InputStreamReader?,?OutputStreamWriter
??*?處理字符流
??*?@param?filename
??*?@throws?IOException
??*/
?public?static?void?isrAndOsw(File?filename1,File?filename2)?throws?IOException{
??InputStreamReader?in?=?new?InputStreamReader(new?FileInputStream(filename1),"gbk");//項(xiàng)目默認(rèn)編碼
??OutputStreamWriter?out?=new?OutputStreamWriter(new?FileOutputStream(filename2),"gbk");
??/*int?b;
??while((b=in.read())?!=?-1){
???System.out.print((char)b);
??}
??*/
??char?buf[]?=?new?char[8*1024];
??int?b;
??while((b=in.read(buf,?0,?buf.length))?!=?-1){
???String?s?=?new?String(buf,0,b);
???System.out.print(s);
//???System.out.println(buf);
//???out.write(buf,0,b);
//?????????out.flush();
???out.write(s,?0,?s.length());
???out.flush();
??}
??
??in.close();
??out.close();
?}
?
?/**
??*?文件讀寫流
??*?@param?f1
??*?@param?f2
??*?@throws?IOException
??*/
?public?static?void?frAndFw(File?f1,?File?f2)throws?IOException{
??FileReader?fr?=?new?FileReader(f1);
??FileWriter?fw?=?new?FileWriter(f2,true);//如果加上true,則會(huì)在f2的末尾追加內(nèi)容,不會(huì)刪除原內(nèi)容
??char?buf[]?=?new?char[3*1024];
??int?c?=?0;
??while((?c?=?fr.read(buf,?0,?buf.length)?)!=-1){
???fw.write(buf,?0,?c);
???fw.flush();
??}
??fw.write("\n");
??fw.close();
??fr.close();
?}
?
?/**
??*?字符流過濾器
??*?@param?f1
??*?@param?f2
??*?@throws?IOException
??*/
?public?static?void?brAnBwFilter(File?f1,?File?f2,File?f3)?throws?IOException{
??BufferedReader?br?=?new?BufferedReader(
????new?InputStreamReader(
??????new?FileInputStream(f1)));
??BufferedWriter?bw?=?new?BufferedWriter(
????new?OutputStreamWriter(
??????new?FileOutputStream(f2,true)));
//??PrintWriter?pw?=?new?PrintWriter(f3);
??PrintWriter?pw?=?new?PrintWriter(
????new?OutputStreamWriter(
??????new?FileOutputStream(f3,true)));?
??String?line;
??while(?(line=br.readLine())?!=?null){//readLine()不能識(shí)別原文本中的換行
???bw.write(line);
???bw.newLine();//手動(dòng)添加換行
???bw.flush();
???pw.println(line);
???pw.flush();
??}
??br.close();
??bw.close();
??pw.close();
?}
?}
import?java.io.File;
import?java.io.IOException;
public?class?IOUtil_Test?{
?public?static?void?main(String[]?args)?throws?IOException?{
????????//IOUtil.printHex("A\\B.txt");
??
??/*
??long?statime?=?System.currentTimeMillis();
??IOUtil.printHexByByteArray("A\\B.txt");
??System.out.println();
??long?endtime?=?System.currentTimeMillis();
??System.out.println("讀取時(shí)間:"?+?(endtime?-?statime)?+?"ms"?);*/
??
????????//IOUtil.copyFileByByteArray(new?File("A\\B.txt"),?new?File("A\\B1.txt"));
??
??/*
??IOUtil.dataOutputStream();
??IOUtil.printHexByByteArray("A\\B.txt");
??System.out.println();
??*/
??
??//IOUtil.dataInputStream();
??/*
??//1
??long?start1?=?System.currentTimeMillis();
??IOUtil.copyFileByByte(new?File("A\\B1.txt"),?new?File("A\\bu1.txt"));
??long?end1?=?System.currentTimeMillis();
??System.out.println(end1-start1);
??//2
??long?start2?=?System.currentTimeMillis();
??IOUtil.copyFileByBuffer(new?File("A\\B1.txt"),?new?File("A\\bu2.txt"));
??long?end2?=?System.currentTimeMillis();
??System.out.println(end2-start2);
??//3
??long?start3?=?System.currentTimeMillis();
??IOUtil.copyFileByByteArray(new?File("A\\B1.txt"),?new?File("A\\bu3.txt"));
??long?end3?=?System.currentTimeMillis();
??System.out.println(end3-start3);*/
??
??
??//IOUtil.isrAndOsw(new?File("A\\B1.txt"),?new?File("A\\isAndOsw.txt"));
??
??//IOUtil.frAndFw(new?File("A\\B1.txt"),?new?File("A\\frAndFw.txt"));
??
??IOUtil.brAnBwFilter(new?File("A\\B1.txt"),?new?File("A\\brAnBwFilter.txt"),
????new?File("A\\brAndBwFilter1.txt"));
?}
}

上邊是所有方法的類,下別是測(cè)試類

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

你想表達(dá)的是老師把講到的所有代碼都寫到一個(gè)包里的意思吧,你自己寫的時(shí)候,可以合理的區(qū)分呀,比如創(chuàng)建一個(gè)包"io1"、"io2"(也就是IO專題1,IO專題2)之類的。

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

這個(gè)老師講得很有條理啊,那些文件的命名也很合理

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

你要慢慢去掌握啊,學(xué)這個(gè)本來就不能急

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

舉報(bào)

0/150
提交
取消

代碼有點(diǎn)混亂

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

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

幫助反饋 APP下載

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

公眾號(hào)

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