ゞ沉默是金ゞ
魚離不開水,但是沒有說不離開哪滴水.
BlogJava
首頁
新隨筆
新文章
聯(lián)系
聚合
管理
posts - 98,comments - 104,trackbacks - 0
<
2012年7月
>
日
一
二
三
四
五
六
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
常用鏈接
我的隨筆
我的文章
我的評論
我的參與
最新評論
留言簿
(3)
給我留言
查看公開留言
查看私人留言
隨筆分類
Ant
Broker(1)
DB(8)
EJB(2)
eXtreme(7)
Hibernate
HTTP(6)
Java EE(8)
Java SE(31)
Jrules
Maven
Spring
Spring基礎(1)
Struts
webservice(2)
其他收集(6)
性能測試(1)
搜索引擎
面試相關
隨筆檔案
2012年12月 (1)
2012年11月 (1)
2012年8月 (16)
2012年7月 (6)
2012年6月 (11)
2011年3月 (1)
2010年12月 (1)
2010年11月 (2)
2010年8月 (1)
2010年7月 (3)
2010年5月 (1)
2010年1月 (1)
2009年12月 (3)
2009年11月 (2)
2009年8月 (1)
2009年6月 (4)
2009年5月 (1)
2009年4月 (1)
2009年3月 (6)
2009年2月 (3)
2008年12月 (4)
文章分類
EJB(1)
代碼收集
實用腳本
文章檔案
2012年6月 (2)
2012年1月 (1)
2011年8月 (1)
2009年11月 (1)
2009年3月 (1)
2009年2月 (2)
搜索
最新評論
1.?re: How to Create Client/Server Keystores using Java Keytool
Shawn?
--Freud
2.?re: HTTP/1.1 Cache-Control的理解
這是網(wǎng)頁代碼,還是IIS 代碼
--marmoglass
3.?re: How To Avoid javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated Problem Using Apache HttpClient
評論內(nèi)容較長,點擊標題查看
--dashi99
4.?re: How To Avoid javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated Problem Using Apache HttpClient
評論內(nèi)容較長,點擊標題查看
--shigangxing
5.?re: Part 12: java.util.concurrent : SingleThreadPool Example
評論內(nèi)容較長,點擊標題查看
--NotNolyJava
閱讀排行榜
1.?HTTP/1.1 Cache-Control的理解(10097)
2.?MYSQL 連接數(shù)據(jù)庫命令收藏(8620)
3.?什么是RFC?(6612)
4.?can not be represented as java.sql.Timestamp(5949)
5.?How To Avoid javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated Problem Using Apache HttpClient(3640)
評論排行榜
1.?Java應用基礎:網(wǎng)友精選25個Java試題分享(18)
2.?踏實與成功(11)
3.?Eclipse中10個比較有用的快捷鍵組合(轉(zhuǎn))(7)
4.?摘:一個Java程序員應該掌握的10項技能(6)
5.?Java獲取客戶端真實IP地址的兩種方法(5)
文件讀取實例
讀取文件實例
package
org.duke.java.util;
import
java.io.BufferedReader;
import
java.io.File;
import
java.io.FileInputStream;
import
java.io.FileReader;
import
java.io.IOException;
import
java.io.InputStream;
import
java.io.InputStreamReader;
import
java.io.RandomAccessFile;
import
java.io.Reader;
public
class
ReadFromFile
{
/** */
/**
* 以字節(jié)為單位讀取文件,常用于讀二進制文件,如圖片、聲音、影像等文件。
*/
public
static
void
readFileByBytes(String fileName)
{
File file
=
new
File(fileName);
InputStream in
=
null
;
try
{
System.out.println(
"
以字節(jié)為單位讀取文件內(nèi)容,一次讀一個字節(jié):
"
);
//
一次讀一個字節(jié)
in
=
new
FileInputStream(file);
int
tempbyte;
while
((tempbyte
=
in.read())
!=
-
1
)
{
System.out.write(tempbyte);
}
in.close();
}
catch
(IOException e)
{
e.printStackTrace();
return
;
}
try
{
System.out.println(
"
以字節(jié)為單位讀取文件內(nèi)容,一次讀多個字節(jié):
"
);
//
一次讀多個字節(jié)
byte
[] tempbytes
=
new
byte
[
100
];
int
byteread
=
0
;
in
=
new
FileInputStream(fileName);
ReadFromFile.showAvailableBytes(in);
//
讀入多個字節(jié)到字節(jié)數(shù)組中,byteread為一次讀入的字節(jié)數(shù)
while
((byteread
=
in.read(tempbytes))
!=
-
1
)
{
System.out.write(tempbytes,
0
, byteread);
}
}
catch
(Exception e1)
{
e1.printStackTrace();
}
finally
{
if
(in
!=
null
)
{
try
{
in.close();
}
catch
(IOException e1)
{
}
}
}
}
/** */
/**
* 以字符為單位讀取文件,常用于讀文本,數(shù)字等類型的文件
*/
public
static
void
readFileByChars(String fileName)
{
File file
=
new
File(fileName);
Reader reader
=
null
;
try
{
System.out.println(
"
以字符為單位讀取文件內(nèi)容,一次讀一個字節(jié):
"
);
//
一次讀一個字符
reader
=
new
InputStreamReader(
new
FileInputStream(file));
int
tempchar;
while
((tempchar
=
reader.read())
!=
-
1
)
{
//
對于windows下,\r\n這兩個字符在一起時,表示一個換行。
//
但如果這兩個字符分開顯示時,會換兩次行。
//
因此,屏蔽掉\r,或者屏蔽\n。否則,將會多出很多空行。
if
(((
char
) tempchar)
!=
'
\r
'
)
{
System.out.print((
char
) tempchar);
}
}
reader.close();
}
catch
(Exception e)
{
e.printStackTrace();
}
try
{
System.out.println(
"
以字符為單位讀取文件內(nèi)容,一次讀多個字節(jié):
"
);
//
一次讀多個字符
char
[] tempchars
=
new
char
[
30
];
int
charread
=
0
;
reader
=
new
InputStreamReader(
new
FileInputStream(fileName));
//
讀入多個字符到字符數(shù)組中,charread為一次讀取字符數(shù)
while
((charread
=
reader.read(tempchars))
!=
-
1
)
{
//
同樣屏蔽掉\r不顯示
if
((charread
==
tempchars.length)
&&
(tempchars[tempchars.length
-
1
]
!=
'
\r
'
))
{
System.out.print(tempchars);
}
else
{
for
(
int
i
=
0
; i
<
charread; i
++
)
{
if
(tempchars[i]
==
'
\r
'
)
{
continue
;
}
else
{
System.out.print(tempchars[i]);
}
}
}
}
}
catch
(Exception e1)
{
e1.printStackTrace();
}
finally
{
if
(reader
!=
null
)
{
try
{
reader.close();
}
catch
(IOException e1)
{
}
}
}
}
/** */
/**
* 以行為單位讀取文件,常用于讀面向行的格式化文件
*/
public
static
void
readFileByLines(String fileName)
{
File file
=
new
File(fileName);
BufferedReader reader
=
null
;
try
{
System.out.println(
"
以行為單位讀取文件內(nèi)容,一次讀一整行:
"
);
reader
=
new
BufferedReader(
new
FileReader(file));
String tempString
=
null
;
int
line
=
1
;
//
一次讀入一行,直到讀入null為文件結束
while
((tempString
=
reader.readLine())
!=
null
)
{
//
顯示行號
System.out.println(
"
line
"
+
line
+
"
:
"
+
tempString);
line
++
;
}
reader.close();
}
catch
(IOException e)
{
e.printStackTrace();
}
finally
{
if
(reader
!=
null
)
{
try
{
reader.close();
}
catch
(IOException e1)
{
}
}
}
}
/** */
/**
* 隨機讀取文件內(nèi)容
*/
public
static
void
readFileByRandomAccess(String fileName)
{
RandomAccessFile randomFile
=
null
;
try
{
System.out.println(
"
隨機讀取一段文件內(nèi)容:
"
);
//
打開一個隨機訪問文件流,按只讀方式
randomFile
=
new
RandomAccessFile(fileName,
"
r
"
);
//
文件長度,字節(jié)數(shù)
long
fileLength
=
randomFile.length();
//
讀文件的起始位置
int
beginIndex
=
(fileLength
>
4
)
?
4
:
0
;
//
將讀文件的開始位置移到beginIndex位置。
randomFile.seek(beginIndex);
byte
[] bytes
=
new
byte
[
10
];
int
byteread
=
0
;
//
一次讀10個字節(jié),如果文件內(nèi)容不足10個字節(jié),則讀剩下的字節(jié)。
//
將一次讀取的字節(jié)數(shù)賦給byteread
while
((byteread
=
randomFile.read(bytes))
!=
-
1
)
{
System.out.write(bytes,
0
, byteread);
}
}
catch
(IOException e)
{
e.printStackTrace();
}
finally
{
if
(randomFile
!=
null
)
{
try
{
randomFile.close();
}
catch
(IOException e1)
{
}
}
}
}
/** */
/**
* 顯示輸入流中還剩的字節(jié)數(shù)
*/
private
static
void
showAvailableBytes(InputStream in)
{
try
{
System.out.println(
"
當前字節(jié)輸入流中的字節(jié)數(shù)為:
"
+
in.available());
}
catch
(IOException e)
{
e.printStackTrace();
}
}
public
static
vo id
main(String[] args)
{
String fileName
=
"
C:/Shawn/test.txt
"
;
ReadFromFile.readFileByBytes(fileName);
ReadFromFile.readFileByChars(fileName);
ReadFromFile.readFileByLines(fileName);
ReadFromFile.readFileByRandomAccess(fileName);
}
}
posted on 2012-07-03 19:07
ゞ沉默是金ゞ
閱讀(796)
評論(0)
編輯
收藏
所屬分類:
Java SE
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
jvm學習筆記
ThreadPoolExecutor usage summary
Part 13: java.util.concurrent - Atomic Variables
Part 12: java.util.concurrent : SingleThreadPool Example
Part 11: java.util.concurrent - CachedThreadPool Example
Part 10: java.util.concurrent - ScheduledThreadPool Example
Part 9: java.util.concurrent : FixedThreadPool Example
Part 8: java.util.concurrent - "Executors" Factory Threads Pool
Part 7: java.util.concurrent - invokeAll via ExecutorService
Part 6: java.util.concurrent - Lock and Condition Object
Copyright ©2025 ゞ沉默是金ゞ Powered By
博客園
模板提供:
滬江博客
主站蜘蛛池模板:
国产99视频精品免费观看7
|
j8又粗又长又硬又爽免费视频
|
国产一精品一AV一免费
|
亚洲国产婷婷综合在线精品
|
久久亚洲欧美国产精品
|
免费一区二区三区四区五区
|
亚洲大码熟女在线观看
|
国产无遮挡吃胸膜奶免费看视频
|
亚洲精品一卡2卡3卡四卡乱码
|
91情侣在线精品国产免费
|
亚洲一区二区三区在线观看网站
|
无码国产精品一区二区免费
|
天天爽亚洲中文字幕
|
国产桃色在线成免费视频
|
欧洲 亚洲 国产图片综合
|
国产精品免费看久久久久
|
搜日本一区二区三区免费高清视频
|
亚洲视频人成在线播放
|
a级毛片免费完整视频
|
老色鬼久久亚洲AV综合
|
A在线观看免费网站大全
|
精品国产亚洲AV麻豆
|
亚洲深深色噜噜狠狠爱网站
|
中文字幕天天躁日日躁狠狠躁免费
|
激情综合亚洲色婷婷五月APP
|
日本人护士免费xxxx视频
|
国产免费久久精品丫丫
|
99久久亚洲精品无码毛片
|
女人18特级一级毛片免费视频
|
杨幂最新免费特级毛片
|
亚洲2022国产成人精品无码区
|
欧亚一级毛片免费看
|
亚洲精品国产美女久久久
|
免费看h片的网站
|
WWW国产亚洲精品久久麻豆
|
亚洲精品午夜无码电影网
|
91精品免费在线观看
|
美女被吸屁股免费网站
|
亚洲国产成人精品不卡青青草原
|
我要看WWW免费看插插视频
|
中文在线免费观看
|