奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

java語言

java如何處理BOM文本

時間:2024-09-01 06:13:09 賽賽 java語言 我要投稿
  • 相關(guān)推薦

java如何處理BOM文本

  說起B(yǎng)OM,這個疑問還比擬費事,由于BOM不可見,但用順序做不一樣編碼文本處置時分卻經(jīng)常須要思索到BOM的疑問。在此之前,先對BOM做個容易見解。以下是小編為大家搜索整理的java如何處理BOM文本,希望能給大家?guī)韼椭?更多精彩內(nèi)容請持續(xù)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!

  下面舉個例子,針對UTF-8的文件BOM做個處理:

  Stringxmla=StringFileToolkit.file2String(newFile("D:projectsmailpostsrca.xml"),"UTF-8");

  byte[]b=xmla.getBytes("UTF-8");

  Stringxml=newString(b,3,b.length-3,"UTF-8");

  Documentdoc1=DocumentHelper.parseText(xml);

  Elemente1=(Element)doc1.selectSingleNode("/ResponseData/Body/RetDesc");

  Elemente2=(Element)doc1.selectSingleNode("/ResponseData/Head/RespID");

  Elemente3=(Element)doc1.selectSingleNode("/ResponseData/Body/RetCode");

  Elemente4=(Element)doc1.selectSingleNode("/ResponseData/Body/RetDesc");

  思路是:先按照UTF-8編碼讀取文件后,跳過前三個字符,重新構(gòu)建一個新的字符串,然后用Dom4j解析處理,這樣就不會報錯了。

  其他編碼的方式處理思路類似,其實可以寫一個通用的自動識別的BOM的工具,去掉BOM信息,返回字符串。

  不過這個處理過程已經(jīng)有牛人解決過了:http://koti.mbnet.fi/akini/java/unicodereader/

  不同的系統(tǒng)對BOM的支持

  因為一些系統(tǒng)或程序不支持BOM,因此帶有BOM的Unicode文件有時會帶來一些問題。

  1.JDK1.5以及之前的Reader都不能處理帶有BOM的UTF-8編碼的文件,解析這種格式的xml文件時,會拋出異常:Content is not allowed in prolog.

  2.Linux/UNIX 并沒有使用 BOM,因為它會破壞現(xiàn)有的 ASCII 文件的語法約定。

  不同的編輯工具對BOM的處理也各不相同。使用Windows自帶的記事本將文件保存為UTF-8編碼的時候,記事本會自動在文件開頭插入BOM(雖然BOM對UTF-8來說并不是必須的),但是editplus就不會這樣做。

  BOM與XML

  XML解析讀取XML文檔時,W3C定義了3條規(guī)則:

  1.如果文檔中有BOM,就定義了文件編碼;

  2.如果文檔中沒有BOM,就查看XML聲明中的編碼屬性;

  3.如果上述兩者都沒有,就假定XML文檔采用UTF-8編碼。

  Java處理文件BOM頭的方式

  一、 使用apache的工具類,以BOMStream為例:

  BOMStream,api參考:http://commons.apache.org/io/apidocs/org/apache/commons/io/input/BOMInputStream.html

  該類的構(gòu)造方式:

  BOMInputStream bomIn = new BOMInputStream(in) //僅能檢測到UTF8的bom,且在流中exclude掉bom

  BOMInputStream bomIn = new BOMInputStream(in, include); //同上,且指定是否包含也可以指定檢測多種編碼的bom,但目前僅支持UTF-8/UTF-16LE/UTF-16BE三種,對于UTF32之類不支持。

  BOMInputStream bomIn = new BOMInputStream(in, ByteOrderMark.UTF_16LE, ByteOrderMark.UTF_16BE);

  有用的方法:

  bomIn.hasBOM()、hasBOM(ByteOrderMask.**)可用于判斷當前流中是否檢測到了bom。

  BOM基本簡介

  采用計算機輔助企業(yè)生產(chǎn)管理,首先要使計算機能夠讀出企業(yè)所制造的產(chǎn)品構(gòu)成和所有要涉及的物料,為了便于計算機識別,必須把用圖1示表達的產(chǎn)品結(jié)構(gòu)轉(zhuǎn)化成某種數(shù)據(jù)格式,這種以數(shù)據(jù)格式來描述產(chǎn)品結(jié)構(gòu)的文件就是物料清單,即是BOM。它是定義產(chǎn)品結(jié)構(gòu)的技術(shù)文件,因此,它又稱為產(chǎn)品結(jié)構(gòu)表或產(chǎn)品結(jié)構(gòu)樹。在某些工業(yè)領(lǐng)域,可能稱為“配方”、“要素表”或其它名稱。

  在MRPⅡ和ERP系統(tǒng)中,物料一詞有著廣泛的含義,它是所有產(chǎn)品,半成品,在制品,原材料,配套件,協(xié)作件,易耗品等等與生產(chǎn)有關(guān)的物料的統(tǒng)稱。

  在通常的MRPⅡ和ERP系統(tǒng)中BOM是指由雙親件及子件所組成的關(guān)系樹。BOM可以是自頂向下分解的形式或是以自底向上跟蹤的形式提供信息。

  在MRPⅡ和ERP系統(tǒng)中BOM是一種數(shù)據(jù)之間的組織關(guān)系,利用這些數(shù)據(jù)之間層次關(guān)系可以作為很多功能模塊設(shè)計的基礎(chǔ),這些數(shù)據(jù)的某些表現(xiàn)形式是我們大家感到熟悉的匯總報表。

  文件作用

  BOM是PDM/MRPⅡ/ERP信息化系統(tǒng)中最重要的基礎(chǔ)數(shù)據(jù),其組織格式設(shè)計合理與否直接影響到系統(tǒng)的處理性能,因此,根據(jù)實際的使用環(huán)境,靈活地設(shè)計合理且有效的BOM是十分重要的。

  BOM不僅是MRPⅡ系統(tǒng)中重要的輸入數(shù)據(jù),而且是財務(wù)部門核算成本,制造部門組織生產(chǎn)等的重要依據(jù),因此,BOM的影響面最大,對它的準確性要求也最高。正確地使用與維護BOM是管理系統(tǒng)運行期間十分重要的工作。

  此外,BOM還是CIMS/MIS/MRPⅡ/ERP與CAD,CAPP等子系統(tǒng)的重要接口,是系統(tǒng)集成的關(guān)鍵之處,因此,用計算機實現(xiàn)BOM管理時,應(yīng)充分考慮它與其他子系統(tǒng)的信息交換問題。

  BOM信息在MRPⅡ/ERP系統(tǒng)中被用于MRP計算,成本計算,庫存管理。BOM有各種形式,這些形式取決于它的用途,BOM的具體用途有:

  1、是計算機識別物料的基礎(chǔ)依據(jù)。

  2、是編制計劃的依據(jù)。

  3、是配套和領(lǐng)料的依據(jù)。

  4、根據(jù)它進行加工過程的跟蹤。

  5、是采購和外協(xié)的依據(jù)。

  6、根據(jù)它進行成本的計算。

  7、可以作為報價參考。

  8、進行物料追溯。

  9、使設(shè)計系列化,標準化,通用化。

【java如何處理BOM文本】相關(guān)文章:

Java如何讀取文本文件12-15

java如何構(gòu)造12-11

java圖片處理功能介紹12-09

新手如何學習Java07-06

如何學習JAVA開發(fā)04-26

如何創(chuàng)建java包03-27

Java的就業(yè)前景如何03-23

Java編程中異常處理的方法12-16

如何創(chuàng)建java包名03-28

主站蜘蛛池模板: 彰化市| 江安县| 玉田县| 象州县| 伊金霍洛旗| 汕尾市| 那坡县| 五华县| 辽宁省| 德令哈市| 射洪县| 蒙自县| 西平县| 桐城市| 荃湾区| 甘孜县| 绍兴市| 香河县| 蒲江县| 稻城县| 凉城县| 万盛区| 南通市| 鲁甸县| 凉山| 张掖市| 昭通市| 慈溪市| 武乡县| 堆龙德庆县| 乃东县| 松溪县| 昌平区| 云阳县| 门头沟区| 阳山县| 五寨县| 尉犁县| 樟树市| 旅游| 万山特区|