日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

java 输入流关闭顺序_JAVA的节点流和处理流以及流的关闭顺序

發(fā)布時(shí)間:2023/12/19 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 输入流关闭顺序_JAVA的节点流和处理流以及流的关闭顺序 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

今天在編寫(xiě)hadoop程序的時(shí)候,用到了流的處理。關(guān)閉流的時(shí)候出現(xiàn)了問(wèn)題:

代碼:

1 FSDataInputStream fsin = fs.open(new Path(filein));

2 FSDataOutputStream fsout = fs.append(new Path(fileout));

3 BufferedReader br = new BufferedReader(new InputStreamReader(fsin));

4 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fsout));

5 ...

6 br.close();

7 fsin.close();

8 bw.close();

9 fsout.close();

異常:

1 [root@bigdata004 bigdata]# ./bigdataTimer.sh

2 INFO [main] com.sinosoft.bigdata.BigDataTimer.main(227) | -----Timer begin-----

3 INFO [main] com.sinosoft.bigdata.BigDataInit.(70) | bigdata init ...

4 WARN [main] org.apache.hadoop.util.NativeCodeLoader.(62) | Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

5 INFO [main] com.sinosoft.bigdata.BigDataTimer.mergeFile(66) | Finished appending file.

6 INFO [main] com.sinosoft.bigdata.BigDataTimer.mergeFile(68) | deleted the input data path.

7 INFO [main] com.sinosoft.bigdata.BigDataTimer.mergeFile(70) | create the input data path.

8 ERROR [main] org.apache.hadoop.hdfs.DFSClient.closeAllFilesBeingWritten(776) | Failed to close file /user/root/dayfileInput/dayfileIn

9 org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException): No lease on /user/root/dayfileInput/dayfileIn: File does not exist. Holder DFSClient_NONMAPREDUCE_-221972347_1 does not have any open files.

原因:關(guān)閉處理流br.close();之后,緊接著關(guān)閉了與之相關(guān)的fsin.close();的節(jié)點(diǎn)流。事實(shí)上,br.close();會(huì)調(diào)用fsin.close();?因此重復(fù)關(guān)閉了2次fsin.close();最后拋出了異常。

回顧了一下流的知識(shí):

按照流是否直接與特定的地方(如磁盤(pán)、內(nèi)存、設(shè)備等)相連,分為節(jié)點(diǎn)流和處理流兩類(lèi)。

總結(jié)

以上是生活随笔為你收集整理的java 输入流关闭顺序_JAVA的节点流和处理流以及流的关闭顺序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。