教學(xué)-講稿達(dá)內(nèi)總結(jié)java總覽_第1頁(yè)
教學(xué)-講稿達(dá)內(nèi)總結(jié)java總覽_第2頁(yè)
教學(xué)-講稿達(dá)內(nèi)總結(jié)java總覽_第3頁(yè)
教學(xué)-講稿達(dá)內(nèi)總結(jié)java總覽_第4頁(yè)
教學(xué)-講稿達(dá)內(nèi)總結(jié)java總覽_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

CoreCoreCore 面象 Java類(lèi)型,變量與堆對(duì) 構(gòu)造器(構(gòu)造方法)的作用:對(duì)象的創(chuàng)建過(guò)程 java方法參數(shù)的傳遞規(guī)則:基于值的傳遞,是變量值的-------------------------- 6控制修飾 7繼承中的語(yǔ)法現(xiàn) Java static靜態(tài)關(guān)鍵字,修飾:屬性,方法,類(lèi),代碼 finalclass

接口,相當(dāng)于純抽象類(lèi)(cpp純虛類(lèi) String字符 正則表達(dá)式:負(fù)責(zé)的字符串匹配處理規(guī)則,應(yīng)用廣 String對(duì)正則表達(dá)式的支 StringBuilder和 線性表:List,表示有先后次序的對(duì)象集合,歌曲列 散列表 HashMap(關(guān)鍵字:值),關(guān)鍵字key是唯一不重復(fù)的,查找 集合框架(CollectionandMap,集合與,容器類(lèi) Java泛型簡(jiǎn) Collections集合的工具類(lèi),Arrays數(shù)組的工具 2)同步化(線程安全的 2類(lèi)-定義在類(lèi)的的類(lèi),根據(jù)位置分為4 3時(shí)間日 Java (pwdlsmkdirrm RandomAccessFile操作文件內(nèi)容,文件任意位 RandomAccessFile操作文件內(nèi)容,文件任意位 IO流(InputStream, 文件輸入流FileInputStream繼承了 文件輸出流FileOutputStream繼承了 DataOutputStream對(duì)基本的輸出流功能擴(kuò)展,提供了基本數(shù) BufferedInputStream和 JavaIO總 Java多線程編 Java創(chuàng)建一個(gè)線 Sleep的打斷喚 Sleep的打斷喚 Java中同步的 JavaSocket編程TCP協(xié)議編 TCP服務(wù)端編程( TCP客戶(hù)端編 Java反 面象1)Object(對(duì)象),Object本意:東西,是指一個(gè)具體事物實(shí)2)面象,面向客觀事物之間的關(guān)系OOA面象分析/OOD面象設(shè)計(jì)A類(lèi)型:名詞概念,如:客人,菜品,B(變量):具體概念實(shí)例的代詞,如:,特價(jià)C對(duì)象(東西):具體概念的實(shí)例,如:這個(gè)人,一盤(pán)大盤(pán)D行為(方法E多態(tài):行為/,在具體情形下發(fā)生了變化的現(xiàn)象 打:F封裝:任何對(duì)象實(shí)例都是盡可能封裝,E繼承:Java類(lèi)型,變量與堆對(duì)Java類(lèi),是事物類(lèi)型的.如:<館管理系統(tǒng)>中的概念:書(shū)書(shū)的特征:書(shū)號(hào),書(shū)名,,作者,價(jià)格Book{longid;StringStringisbn;//書(shū)號(hào)doubleprice;},堆也是一塊Java使用內(nèi)存區(qū)域,使用方式:BJava局部變量在棧中分配,是按照變量的類(lèi)型分配對(duì)象在堆中分配,按照類(lèi)的屬性(實(shí)例變量)分配空間C變量類(lèi)型與分配變量分為:基本類(lèi)型和類(lèi)基本類(lèi)型變量的空間大小:就是基本類(lèi)型的空間大小,值是基本類(lèi)型變量的值是一個(gè)對(duì)象的地址值,變量通過(guò)地址了一個(gè)堆Java系統(tǒng)管理:變量占用空間以及值的管理,都是透明的.對(duì)象的屬性默認(rèn)自動(dòng)初始化的.自動(dòng)初始化為"零"值,為在null上調(diào)用屬性或方法,會(huì)發(fā)生運(yùn)行時(shí)異常坐標(biāo)是int類(lèi)型. >|||| .|||構(gòu)造器(構(gòu)造方法)的作用:對(duì)象的創(chuàng)建過(guò)程的如:月餅實(shí)例的創(chuàng)建,使用面和餡創(chuàng)建. ----->月餅(對(duì)象 Java中的構(gòu)造器:在類(lèi),方法名與類(lèi)名一致的方法叫構(gòu)造方法,構(gòu)造方法不能返回值類(lèi)型.構(gòu)造方法可以包含參數(shù),參數(shù)一般是創(chuàng)建對(duì)象實(shí)例{intint/**構(gòu)造器*/publicPoint(intxinty){this.x=x;this.y=y;}}new運(yùn)算:thisthis是對(duì)當(dāng)前對(duì)象的,是運(yùn)行期間當(dāng)前對(duì)象本身.this()是調(diào)用本類(lèi)的其他構(gòu)造器,可以使用構(gòu)造器的重用,*this()必須寫(xiě)在構(gòu)造器的第一行構(gòu)造方法重載參數(shù)不一樣的構(gòu)造器案例:Point.java=方法名+方法重載:ab也可以說(shuō):方法名一樣,java案例默認(rèn)構(gòu)造器,無(wú)參數(shù)默認(rèn)構(gòu)造器如果提供構(gòu)造器,Javac將不再提供默認(rèn)構(gòu)對(duì)象的方法表示對(duì)象的功能依賴(lài)于對(duì)象存在.案例:Point.java如p1.distance()方法也經(jīng)常重載,重載:方法名一樣,參數(shù)不一樣重載體現(xiàn)了,方法簽名(方法的識(shí)別關(guān)鍵字=方法名+方法重載:方法名一樣,char[]chs=int[]ary=System.out.println(chs);//ABC//println(char[])System.out.println(ary.toString@34ADCDSystem.out.println('A');//Aprintln(char)打印字符System.out.println(65);//65//println(int)打印整數(shù)方法重載就是:動(dòng)詞的多意現(xiàn)象,,,打醬油,打車(chē)洗衣服,洗手,洗保存聯(lián)系人,保存,保存過(guò)的地java方法參數(shù)的傳遞規(guī)則:基于值的傳遞,是變量值的案例:*變量的值a基本類(lèi)型的值是其本身b變量的值是一個(gè)地址值,是被對(duì)象的首地址.為了避免參數(shù)傳遞的副作用,建議一切結(jié)果使用繼 用來(lái)表達(dá)概念上具體化延續(xù)的具體概念***關(guān)于繼承中的構(gòu)造器:*子類(lèi)構(gòu)造器中,this()必須寫(xiě)在子類(lèi)構(gòu)造器第一行關(guān)于對(duì)象的實(shí)例化過(guò)程加載以后是一個(gè)對(duì)象,類(lèi)型是Class。獲得這個(gè)類(lèi)對(duì)象:Student.classClass6控制修飾*一般自然現(xiàn)象:都是盡可能的封裝典型,文件名要與Public類(lèi)一致.如果有其他類(lèi),就只能是默認(rèn)修飾7繼承中的語(yǔ)法現(xiàn)象*方法覆蓋:子類(lèi)覆蓋了父類(lèi)“相同方法簽名”的方法。8類(lèi)型轉(zhuǎn)換(是變量的類(lèi)型的轉(zhuǎn),Circlec=new s )Shs=(Sh)news=new//s的是Rectangle不是圓實(shí)例JavaBean不是語(yǔ)范,是性編程規(guī)范,用這個(gè)規(guī)范寫(xiě)的類(lèi)使用方便。有時(shí)候JavaBean的類(lèi)也稱(chēng)為:POJOPlanOldJavaa必須有包c(diǎn)有用get ()和set ()的Bean屬性。如:getName()和setName(Stringn)的Bean屬性為:name,name無(wú)關(guān).boolean類(lèi)型的get方法可以有兩種形式:getMarried()static靜態(tài)關(guān)鍵字,修飾:屬性,方法,類(lèi),代碼,(屬性,方法,類(lèi)靜態(tài)屬性,static修飾的屬性,是在類(lèi)的加載期間初始化是屬于類(lèi)的,全體類(lèi)的實(shí)例共享的變量,使用類(lèi)名屬性.實(shí)例變量:屬于對(duì)象的屬性static方法,使用static的方法,屬于類(lèi)的方法,一用來(lái)表示工具方法.在類(lèi)加載以后就可以自己調(diào)用,不需要?jiǎng)?chuàng)建任何finalfinalJavaStringfinalMathfinal,afinalbfinalcfinalfinalstaticJavafinalstatic修飾的變量作為常量。常量不是class抽象類(lèi)-- Clientadd(Client Event[]}接口,相當(dāng)于純抽象類(lèi)(cpp純虛類(lèi)publicinterfaceSystem{Clientadd(ClientnewGuy);Eventadd(Evente,Clientguy);Event[]todayEvents();} 也是 ,Java類(lèi)默認(rèn)繼承于Object!繼承了Object的屬性和方法如:toString(), hashCode(),equals()toString()方法,經(jīng)常有系統(tǒng)默認(rèn)調(diào)用,活動(dòng)當(dāng)前對(duì)象的文本描述,Object默認(rèn)返回:全限定名@hashCode:JavaObject啥都是東西繼承了Object的屬性和方法如: toString()方法,經(jīng)常有系統(tǒng)默認(rèn)調(diào)用,活動(dòng)當(dāng)前對(duì)象的文本描述,Object默認(rèn)返回:全限定名@hashCode:equals是用來(lái)比較兩個(gè)對(duì)象是否相等的方法。區(qū)別:相等與對(duì)象相等.equals()equals在Object類(lèi)中,默認(rèn)的比較規(guī)則是:比*a自反性:對(duì)于任何非空值trueb對(duì)稱(chēng)性:對(duì)于任何非空值x和y,當(dāng)且僅當(dāng)y.equals(x)返回true時(shí),x.equals(y)truec傳遞性:對(duì)于任何非空值x、y和z,如果x.equals(y)返回true,并且y.equals(z)返回true,那么x.equals(z)應(yīng)返回true。d一致性:對(duì)于任何非空值x和y,多次調(diào)用x.equals(y)始終返回true或始終返回false,e對(duì)于任何非空值x,x.equals(null)都應(yīng)返具有相同的hashCode()值具有不相同的hashCode()值chashCode()值要穩(wěn)定(一致性BhashCode()值是當(dāng)前堆對(duì)象地址轉(zhuǎn)換的一個(gè)整數(shù)OID對(duì)象的唯一,在工程項(xiàng)目中一般采用數(shù)據(jù)庫(kù)來(lái)生成OID,也就是數(shù)據(jù)庫(kù)中的“主鍵”StringStringchar[]+操作(toUpperCase類(lèi):數(shù)據(jù)+char數(shù)組只是數(shù)據(jù),一串字符就是字符串charStringStringBuilder1字符串"字面量"都是String類(lèi)型實(shí)例Stirng就是一個(gè)StringAPI有一個(gè)實(shí)現(xiàn)原則:對(duì)象內(nèi)容不變也就是說(shuō):String對(duì)象不變.String字面量(直接量),如果相同,一個(gè)String對(duì)象的,常量連接的結(jié)果也被優(yōu)化Strings=newString的比較equals( 除外字符串中的字符有序號(hào),0開(kāi)始.API方法:substring(intstart)正則表達(dá)式:負(fù)責(zé)的字符串匹配處理規(guī)則,應(yīng)用廣泛學(xué)習(xí)建議1要能夠讀懂"正則表達(dá)式2能夠?qū)懗龊?jiǎn)單的"正則表達(dá)式3不要過(guò)多的分配學(xué)習(xí)時(shí)間!可以應(yīng)用于:javagrepvi1字符集1234]1,2,3,4[^12][1-5][a-f]a-f]\d:[0-.:\w:[0-9a-zA-\s:匹配空白\t\nr\b2{m,n}數(shù)詞?:+:*:3^$用戶(hù)名規(guī)則號(hào) :\d{2}){2}$IP地址String對(duì)正則表達(dá)式的支持.matches()]")Integer.parseInt()轉(zhuǎn)換到字符串到整數(shù):如23String.matches()]")Integer.parseInt()轉(zhuǎn)換到字符串到整數(shù):如23StringBuilderString=char[]+操作(創(chuàng)建新對(duì)象)StringBuilder=char對(duì)char[]操作(處理當(dāng)前數(shù)組內(nèi)容)StringBuilder的char[]數(shù)組內(nèi)容可變,如果長(zhǎng)度不夠,利用變長(zhǎng)算法,自動(dòng)擴(kuò)容長(zhǎng)度.StringBuilderStringBuilder方法:append,insert...都返回當(dāng)前StringBuilder對(duì)象本身的。"A"+"B"Strings=s1+s2;Java實(shí)際上才是如下代碼運(yùn)行:Strings=s1+s2+s3+s4;被優(yōu)化為Strings=newStringBuilderbuf=newStringBuilder();StringBufferStringBuilderAPIStringBuilderJava5 非線程安全非同 線程安全同線性表List,表示有先后次序的對(duì)象集合,ArrayListObject線性表操作(增刪改查)StringBuilder=char[]+操作(增刪改查))Vector(1.0)ListList集合的實(shí)現(xiàn)LinkedList采向循環(huán)鏈表實(shí)線性表的應(yīng)用蛇可以走,繼續(xù)向當(dāng)前方向走一步也可以向指定方向走一步不能反向蛇可以吃,一個(gè)坐標(biāo)上的東西.(以后再考慮)3蛇在一個(gè)面板中運(yùn)行,面板控制行列坐標(biāo),HashMapHashtable(1.2以前)容量:散列表中散列數(shù)組大小:散列桶:散列值相同的元素的"線性集合加載因子:就是散列數(shù)組加載率,75%性能比較理想就是:元素?cái)?shù)量/散列數(shù)組大小,如:7/10=70%散列查找:Key計(jì)算散列值,根據(jù)散列值(下標(biāo))找到散列桶,Key,如果一樣,就返回value散列表中Key不同Value散列表容量:散列表中散列數(shù)組大小:散列桶:散列值相同的元素的"線性集合加載因子:就是散列數(shù)組加載率,75%性能比較理想就是:元素?cái)?shù)量/散列數(shù)組大小,如:7/10=70%散列查找:Key計(jì)算散列值,根據(jù)散列值(下標(biāo))找到散列桶,Key,如果一樣,就返回value散列表中Key不同ValueHashMap(關(guān)鍵字:值),關(guān)鍵key是唯一不重復(fù)的,,,默認(rèn)的容量16默認(rèn)加載因子(加載率key檢索查找value,HashMapVSAHashMap新,非線程安全,查鎖,BHashtable(1.2以前)線程安全,檢查鎖,集合框架(CollectionandMap,集合與,容器類(lèi)List元素有先后次序的集合,index位置,元素可以重復(fù)繼承與Collection接口,實(shí)現(xiàn)類(lèi):ArrayList,Vector,LinkedListSet元素?zé)o續(xù),不能重復(fù)添加,是數(shù)學(xué)意義上的集合,Collection接口,實(shí)現(xiàn)類(lèi)HashSet(KeyCollection集概念,沒(méi)有說(shuō)明元素是否重復(fù)和有序,使用集合的跟接口,很少直接使用,其他集合都是實(shí)現(xiàn)類(lèi):ArrayListHashSetMap描述了:(key:value)成對(duì)放置的集合,key不重復(fù),Value可以重復(fù)key重復(fù)算一個(gè).實(shí)現(xiàn)類(lèi)HashMap(散列表算法實(shí)現(xiàn))TreeMap(二叉排序樹(shù)實(shí)現(xiàn),Key排序).Map適合檢查查找.Java泛型Java5以后語(yǔ)法現(xiàn)象,在編譯期間期檢查的類(lèi)型約束.集合的迭代(遍歷算法)(模仿了數(shù)雞蛋的方式迭代操作:列表的全部,將牌全部Iterator中的方法模式化設(shè)計(jì),專(zhuān)門(mén)配合whileIterator的實(shí)例可以從集合對(duì)象獲得,是這個(gè)集合的一個(gè)元素序列視圖,默認(rèn)包含一個(gè)操作游標(biāo),在第一個(gè)元前,hasNext()方法,()并且返回這個(gè)元素.使用while配合這個(gè)兩個(gè)方法,可以迭代處理迭代時(shí)候可以使用迭代器remove()方法刪除剛剛迭代的元素在迭代過(guò)程中,不能使用集合方法(add,remove,set)更改集合Collections集合的工具類(lèi)Arrays1)排序,二分查找,打亂,比較大Comparable可以比較的用于類(lèi)實(shí)現(xiàn),實(shí)現(xiàn)這個(gè)接口表示:這個(gè)類(lèi)的實(shí)例可以比較大小的.可以可以進(jìn)行,默認(rèn)排序. 的實(shí)現(xiàn)必須與equals()的結(jié)果一致,就是相等的對(duì)象比較結(jié)果一定是0!Comparator比較工具,用于臨時(shí)定義比較規(guī)則,不是默認(rèn)比較java longLongbyteByteshortShortfloatFloatdoubleDoublecharCharacter"2.718"->2.718自動(dòng)包裝(autoboxingunboxing)(java5以后可以):Integeri=2;//i=newInteger(2);Objecto=System.out.println(oinstanceofDouble);//trueinta=i+1;//a=Value()+1;包裝類(lèi)對(duì)象是不變的,與字符串類(lèi)似(不變模式)Integera=1;Integerb=2;a=a+b;toStringequalshashCode1集合補(bǔ)集合,默認(rèn)的規(guī)則是淺表(淺層)Aclone()B使用構(gòu)造器Mapmap=newMapmap2=newHashMap(map);Listlist1=newArrayList();Listlist2=new同步化(線程安全的Listlist=new//synchronizedList可以將非線程安全的list轉(zhuǎn)換以后就相當(dāng)于VectorHashMapmap=newHashMap();//synchronizedMap可以將非線程安全的mapmap=aList(只讀的String[]names==list=newArrayList(list);//為全功能ListSetset=newHashSet(list);//為Set集bString[]ary2=(String[])Collection與CollectionsCollection抽象的集合概念,Collections集合靜態(tài)工具類(lèi),(sort,打亂(洗牌)等Map的迭代Map[Key:Value]Akey:valueBKeyCValue案例:2類(lèi)-定義在類(lèi)的的類(lèi),根據(jù)位置分為4成員類(lèi):在類(lèi)體中,不使用static,具有類(lèi)的成員特Dated=new類(lèi)是對(duì)原類(lèi)的一個(gè)繼承,同時(shí)創(chuàng)建了實(shí)例,{}就是繼承3時(shí)間日時(shí)間類(lèi)的本質(zhì)Datelong+Calendarlong+ javaGMTDatelongCalendar是歷法的的抽象.歷法:公歷,農(nóng)歷,歷,...GregorianCalendar是歷法的實(shí)現(xiàn),(歷)算法實(shí)現(xiàn)的Calendercal=DateCalendarnewDa Calendar提供豐富的時(shí)間計(jì)算方法add()set()等如:計(jì)算商品的促銷(xiāo)日期specialDate:輸入:商品生產(chǎn)日期,返回:商品的促銷(xiāo)日期,日期輸出:的本質(zhì)是Date轉(zhuǎn)換為格式化的String:java.text.SimpleDateFormatfmt="yyyy-MM-dd"如yyyy-MM-ddHH:mm:ss"析為日期類(lèi)型,經(jīng)常用于處理日期輸入.fmt.format(Date可以把日期格式化為字符串時(shí)間日時(shí)間類(lèi)的本質(zhì)Datelong+Calendarlong+ javaGMTDatelongCalendar是歷法的的抽象.歷法:公歷,農(nóng)歷,歷,...GregorianCalendar是歷法的實(shí)現(xiàn),(歷)算法實(shí)現(xiàn)的Calendercal=DateCalendarnewDa Calendar提供豐富的時(shí)間計(jì)算方法add()set()等如:計(jì)算商品的促銷(xiāo)日期specialDate:輸入:商品生產(chǎn)日期,返回:商品的促銷(xiāo)日期,日期輸出:的本質(zhì)是Date轉(zhuǎn)換為格式化的String:java.text.SimpleDateFormatfmt="yyyy-MM-dd"如yyyy-MM-ddHH:mm:ss"析為日期類(lèi)型,經(jīng)常用于處理日期輸入.fmt.format(Date可以把日期格式化為字符串異常行為(方法,過(guò)程)Userreg(Stringpwd,String)throwsUserExistException;Userlogin(String,Stringpwd)throwsNameOrPwdException;trycatchfinallytrycatchtrycatch捕獲catch代碼塊是異常處理代碼。需要提供合理的處理,異常的處理語(yǔ)義含糊.根據(jù)業(yè)務(wù)邏輯適當(dāng)選用。finally代碼塊,不管是否出現(xiàn)異常,總會(huì)執(zhí)行的代碼塊。異常捕獲再拋出是一種把底層異常進(jìn)行封裝,轉(zhuǎn)換為另外 |-- 中會(huì)大量使用自定義異常,一般從Exception繼承。異常類(lèi)命名要有實(shí)際意義,一般都手工繼承父類(lèi)的構(gòu)造器。Java (pwdlsmkdirrmFile類(lèi)的用途:用于表示文件 File代表文件系統(tǒng)中對(duì)文件 任務(wù):A檢查當(dāng)前文件夾中是否包 ,CdemoDdemo文件夾的內(nèi)容Etest.txtFtest.txtStringgetName()StringgetPath()booleanexists()booleandir.isFile()booleanmkdir()booleanmkdirs()booleandelete();booleancreateNewFile()throwIOExceptionFile[]listFile()FileFilter(ls|greppatten)File[]listFile(FileFilter)A任務(wù):src/corejava/day07中的.javaRandomAccessFile操作文件內(nèi)容,文件任意位Java文件模型,bytebybyte 4142000000ffd6 打開(kāi)文件,"rw寫(xiě)入方法raf.write(int)將整數(shù)的"低八位"寫(xiě)入到文件中,指針自動(dòng)移動(dòng)到下一個(gè)位置,準(zhǔn)備再次寫(xiě)入*文件名的擴(kuò)展名要明確指定,沒(méi)有默認(rèn)擴(kuò)展名現(xiàn)象!任務(wù):A在demo文件夾中創(chuàng)建raf.datBC'A'D2554E寫(xiě)入GBK'中RandomAccessFile操作文件內(nèi)容,文件任意位Java文件模型,bytebybyte 4142000000ffd6 打開(kāi)文件,"rw寫(xiě)入方法raf.write(int)將整數(shù)的"低八位"寫(xiě)入到文件中,指針自動(dòng)移動(dòng)到下一個(gè)位置,準(zhǔn)備再次寫(xiě)入*文件名的擴(kuò)展名要明確指定,沒(méi)有默認(rèn)擴(kuò)展名現(xiàn)象!任務(wù):A在demo文件夾中創(chuàng)建raf.datBC'A'D2554E寫(xiě)入GBK'中d6d0Filedemo=newFile("demo");}Filefile=newFile(demo,}newRandomAccessFile(file,"rw");raf.write('A');//0041->00000041->41inti=0x7fffffff;//7fffff 007fff 7fffffffStrings中byte[]gbk=//gbk={d6,d0}intb=raf.read()從文件中一個(gè)byte(8位)填充到的低八位,240,返回值范圍正數(shù):0~255,如果返回-1表示到了文件末尾!每次后自動(dòng)移動(dòng)文件指針,準(zhǔn)備下次.1:A只讀打開(kāi)文件,移動(dòng)到int數(shù)據(jù)位置B連續(xù)4個(gè)byte,拼接為int(反序列化)RandomAccessFileraf=inti=0;i=raf.readInt();序列化與基本類(lèi)型序列int-> long->8序列化:nbyte序列叫序列化:n如0x7fffffff7fffffff反序列化:將nbyte轉(zhuǎn)換為一個(gè)數(shù)據(jù)的過(guò)程:nbyte->數(shù)據(jù)如:[7fffffff] ->0x7fffffffIO(InputStream,InputStream,OutputStream都是抽象類(lèi)InputStream抽象了應(yīng)用程序數(shù)據(jù)的方式OutputStream抽象類(lèi)應(yīng)用程序?qū)懗鰯?shù)據(jù)的方式EOF=EndofFile=-1intb=in.read()一個(gè)byte無(wú)符號(hào)填充到int低八位,-1是EOFin.read(byte[]buf)數(shù)據(jù)填充到buf中out.write(intb)byteb的低八位寫(xiě)出out.write(byte[]buf)將緩沖區(qū)buf都寫(xiě)入到流out.write(bytebufintstartintsize)buf的一部分out.flush() 文件(Byte序列輸入流-->--輸出流-->文件 FileInputStream繼承任務(wù)1:文件并且按照HEX輸出,每10byte為一行任務(wù)2:文件內(nèi)容為一個(gè)byte數(shù)組3:byteHEX輸出,10byte為一行任務(wù)4:byte數(shù)組轉(zhuǎn)換為hex字符串FileOutputStream繼承任務(wù):A在demo文件夾中創(chuàng)建out.datBC'A'D2554E寫(xiě)入GBK'中DataOutputStream對(duì)基本的輸出流功能擴(kuò)展,, 應(yīng)用程序--過(guò)濾器-->輸出流-->文件(Byte) fffffffdDataInputStream對(duì)基本的輸入流(InputStream)功能擴(kuò)展提供基本類(lèi)型的輸入方法,就是基本類(lèi)型的反序列化DataInputStream是過(guò)濾器,只是功能擴(kuò)展,不能直接文件readInt()readDouble()... DISdis.readInt()文件(Byte序列)--輸入流-->過(guò)濾器-->應(yīng)用程序[7fffffff]read()readInt()0x7fffffffBufferedInputStream一般打開(kāi)(in/out)文件,都加上緩沖流,IO 應(yīng)用程序--過(guò)濾器-->過(guò)濾器-->輸出流-->文件(Byte) write()write(byte[])fffffffdFileInputStreamfis=newFileInputStream(file);BufferedInputStreambis=newBufferedInputStream(fis);DataInputStreamin=newDataInputStream(bis);FileOutputStreamfos=newFileOutputStream(file);BufferedOutputStreambos=newBufferedOutputStream(fos);DataOutputStreamout=newDataOutputStream(bos);文件實(shí)現(xiàn)與優(yōu) 文件(Byte序列輸入流-->--輸出流-->文件 字符串的序列化(文字的編碼方案Stirng字符串本質(zhì)上是char[]char[]byte,char16位無(wú)符號(hào)整數(shù),unicodeutf-16be編碼方案,16char2byteutf-16beunicodechar[]byte[]的編碼方案能夠支持65535個(gè)字符編碼,英文浪費(fèi)空間byte[]=[00,41,00,42,4e,UTF-81~N方案,1字符串的序列化(文字的編碼方案Stirngchar[]char[]byte序列就是字符串的編碼,就是字符串的序列化問(wèn)題char16位無(wú)符號(hào)整數(shù),unicodeutf-16be編碼方案,16char2byteutf-16beunicodechar[]byte[]的編碼方案能夠支持65535個(gè)字符編碼,英文浪費(fèi)空間utf16be=[00,41,00,42,4e,UTF-81~N方案,1中文3個(gè)byteutf8=[4142e4b8utf-8:是將unicode編碼

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論