文件上字节流读取如果buf不够循环条件应该怎么写
课上简单内容指针一直从0开始不是会变成死循环?
课上简单内容指针一直从0开始不是会变成死循环?
2016-04-20
不足1024的话它循环读取,郁闷 你帮我看下
package icetest; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Scanner; import java.util.concurrent.CountDownLatch; public class FilesInputStream方法读文件练习 { //F:\KwDownload\Lyric\洛天依-生.lrc public static void printToHex(String fileName) throws IOException { int num = 0; int count = 0; byte[] buf = new byte[8*1024]; FileInputStream file; try { file = new FileInputStream(fileName); while ((num = file.read(buf)) != -1) { for (int i=0; i<num; ++i) { if (++count%5 == 0) System.out.println(); String st = new String(buf); System.out.print(st + " "); } } } catch (FileNotFoundException e) { // TODO Auto-generated catch block System.out.println("文件不存在!"); } } /** * @param args * @throws IOException * @throws FileNotFoundException */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); System.out.println("请输入要读取的文件:"); String fileName = in.next(); printToHex(fileName); } }
我读一个歌词,下边是结果
[00:03.72]作词 : 雨狸
[00:05.84]作曲 : DELA
[00:07.60]如果某一个时间 我能爱上一片树叶
[00:13.16]那么某一个未来 我也能爱上某个人
[00:18.60]他或读着海子的诗篇 或者遥远 远在天边
[00:23.84]在某一个剧情转折点 带我前往明天
[00:29.17]我曾在悲伤中流连 无法忘却
[00:34.45]那一天现实与梦想无情地被撕裂
[01:22.45]色彩于我不过无物 昼与夜失去了区别
[01:27.81]却看得见尘霾颠簸 行走着空心的枯骨
[01:33.25]终日畏惧陌生的视线 熟悉画面 活的一切
[01:38.55]恨的情感最终也干瘪 在朝霞口中奄奄
[01:43.62]谁看见我的黑夜 有无数的秃鹫在盘旋
[01:53.22]荒凉的坟场地 予我安眠
[01:59.18]无法理解 生者们惯用的语言
[02:05.33]我曾在童话中哭泣 声嘶力竭
[02:10.54]那一天谎言摧毁了 善恶的边界
[02:15.84]对暴虐跪献上尊严 乞求谅解
[02:21.12]只渴望灵魂能从这空白中被赦免
[02:47.97]如果我能单纯爱上一片树叶
[02:53.13]是否就能做到再次爱上这个世界
[03:00.43]
。。。。。。。。
。。。。。。。。
。。。。。。。。
循环好几遍
举报