序列流(集合流) * 把n個流合併在一起讀取
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.SequenceInputStream; /** * 序列流(集合流) * 把n個流合併在一起讀取 * @author jiaxutianhuo * */ public class E { public static void main(String[] args) { // TODO Auto-generated method stub try { //第一個檔案流 FileInputStream fis1=new FileInputStream("F:/iotest/ddt2.txt"); //第二個檔案流 FileInputStream fis2=new FileInputStream("F:/iotest/ddt3.txt"); //合併到序列流中。 SequenceInputStream sis=new SequenceInputStream(fis1, fis2); byte[] b=new byte[1024]; int off=0; int length=fis1.available()+fis2.available(); int i; //一次性讀取。由於讀取一個檔案流之後,會暫停,所以要寫while迴圈。 while ((i=sis.read(b,off,length))!=-1) { off+=i; System.out.println(off); } System.out.println(new String(b)); sis.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.SequenceInputStream; /** * 序列流(集合流) * 把n個流合併在一起讀取 * @author Administrator * */ public class Ch07 { public static void main(String[] args) { try { //第一個檔案流 FileInputStream fis1=new FileInputStream("F:/iotest/ddt2.txt"); //第二個檔案流 FileInputStream fis2=new FileInputStream("F:/iotest/ddt3.txt"); //合併到序列流中 SequenceInputStream sis=new SequenceInputStream(fis1, fis2); //方式1 // //臨時存放資料的陣列 // int len =fis1.available()+fis2.available(); // byte[] b=new byte[2*len+1]; // //把每一次讀取到的臨時資料存放如sb中 //// StringBuffer sb=new StringBuffer(); // //一次性讀取所有的內容 // int off=0; // int i=0; // while((i=sis.read(b,off,len))!=-1) { //// sb.append(); // off+=i; // } // System.out.println(new String(b)); //方式2 byte[] b=new byte[2]; // StringBuffer sb=new StringBuffer(); // int i=0; while(sis.read(b)!=-1) { System.out.print(new String(b)); // sb.append(new String(b)); } // System.out.println(sb.toString()); sis.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
相關推薦
序列流(集合流) * 把n個流合併在一起讀取
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; im
劍指Offer面試題43(Java版):n個骰子的點數
pac pos max mod ins pri class pro bili 題目:把n個骰子仍在地上。全部骰子朝上一面的點數之和為s,輸入n,打印出s的全部可能的值出現的概率。 解法一:基於遞歸求骰子的點數,時間效率不夠高 如今我們考慮怎樣統計每個點數出現的次數。要向
File型別、javaBean規範、IO流、位元組流(4種)、Serializable序列化介面、transient
*File型別: java.io.File型別,可以對硬碟上的檔案/目錄,進行操作。 如檢視檔案/目錄的屬性資訊, 建立,
Java核心類庫-IO-打印流(PrintStream/PrintWriter)
int div leo obj clas 打印流 println 不換行 pan 打印流,打印數據的,打印流只能是輸出流: PrintStream:字節打印流。 PrintWriter:字符打印流。 對於PrintWriter來說,當啟用字段刷新之後 PrintWrite
Spark性能調優之道——解決Spark數據傾斜(Data Skew)的N種姿勢
sca ace 便是 triplet 大小 spark 構建 由於 itl 原文:http://blog.csdn.net/tanglizhe1105/article/details/51050974 背景 很多使用Spark的朋友很想知道rdd
51nod 1218 最長遞增子序列 V2(dp + 思維)
ear www str tdi binsearch tor con bsp href 題目鏈接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1218 題解:先要確定這些點是不是屬於最長
python學習(十一) 文件和流
內存 無緩沖 abcd 連接 sss 文件操作 打開文件 while 3.5 11.1 打開文件 >>> f = open(r‘c:\text\somefile.txt‘), 第一個參數是文件名,必須有;第二個是模式;第三個參數是緩沖。 11.1
Spark性能優化之道——解決Spark數據傾斜(Data Skew)的N種姿勢
至少 array 效率提升 default executors 並行處理 foreach shp 來源 原創文章,轉載請務必將下面這段話置於文章開頭處。本文轉發自技術世界,原文鏈接 http://www.jasongj.com/spark/skew/ 摘要 本文結合
HDU 5988最小網絡流(浮點數)
blank empty pac scanf for continue -- math != 題目鏈接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5988 哇,以前的模版一直T,加了優先隊列優化才擦邊過。 建圖很好建,概率
網絡流(Flow Networks)
上傳 term and 限制 包括 傳遞 forms idt 得到 一.基本術語 Basic Terminology A source node in a directed graph is a node with no incoming edges. 入度為0 A
轉:TensorFlow入門(六) 雙端 LSTM 實現序列標註(分詞)
vsm max poc 代碼 單詞 arch 大致 雙端 fun http://blog.csdn.net/Jerr__y/article/details/70471066 歡迎轉載,但請務必註明原文出處及作者信息。 @author: huangyongye @creat_
2018年全國多校算法寒假訓練營練習比賽(第一場)D N階漢諾塔變形
img 算法 cout ear www. sync 練習 style http https://www.nowcoder.com/acm/contest/67/D 思路: 先手動模擬一下過程,以下是模擬過程,按順序表示第幾步需要移動的盤標號 1 1 2 1 1 2
如何通過TortoiseGit(小烏龜)把本地項目上傳到github上
創建 註冊 常規設置 安裝包 test 就會 OS 目的 工作 1.第一步: 安裝git for windows(鏈接:https://gitforwindows.org/)一路next就好了, 如果遇到什麽問題可以參考我另外一篇文章~^ - ^
最長公共子序列Lcs (51Nod - 1006)
string OS 模板題 != std ring str spa sin 20180604 11:28 給出兩個字符串A B,求A與B的最長公共子序列(子序列不要求是連續的)。 比如兩個串為: abcicba abdkscab ab是兩個串的子序列
Spark運行模式_基於YARN的Resource Manager的Client模式(集群)
發的 資源 使用 由於 ack 生成 clust 均衡 ont 現在越來越多的場景,都是Spark跑在Hadoop集群中,所以為了做到資源能夠均衡調度,會使用YARN來做為Spark的Cluster Manager,來為Spark的應用程序分配資源。 在執行Spark應
二者取其一(初遇)_網絡流
break printf pan 一道 就是 就會 最小 問題 建立 二者取其一,就是一堆物品,放入兩個集合內,放進不同的集合內就會有不同的收益(或代價),使其收益(代價)最大(最小)的一種問題 通常這類問題,使用最小割定理解決。 最小割,即割邊集中權值之和最小的一個集合
反序列化(層序)
反序列化操作(層序):將序列生成層序遍歷的二叉樹 取出string陣列中的每一個str[i]元素,根據str[i]是否是#進行處理, (1)當str[i]=="#"時,返回NULL,不建立新節點 (2)當str[i]!="#"時,建立新的節點,返回該節點 #include &
序列化(先序)
先序遍歷的序列化操作: 使用先序遍歷遍歷每一個節點, (1)當該結點的值為NULL時,返回"#!" (2)當該結點的值不為NULL時,str = T->data + "!"; (3)遞迴遍歷左子樹、右子樹 str = str + preSerialize(T->lch
反序列化(先序)
【注意】 反序列化操作,只有先序序列化,從來沒聽說過中序序列化、後序序 列化。實際上有中序後序序列化反序列化 要求:將vector<string> str容器中的字串生成二叉樹 解答: 依次獲取每一個字串str[index],進行序列化操作:
反序列化(先序)——split : string-->vector<string>
反序列化:將string生成二叉樹 先序反序列化操作具體步驟: (1)先將string字串進行分割,生成多個string構成的集合儲存在vector<string>中; (2)將vec<string>中的每一個元素存入到queue<string>中