ゞ沉默是金ゞ
魚離不開水,但是沒有說不離開哪滴水.
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
博客園
模板提供:
滬江博客
主站蜘蛛池模板:
国产午夜无码精品免费看
|
亚洲欧洲日产国码在线观看
|
在线观看亚洲免费
|
女人被免费视频网站
|
可以免费看的卡一卡二
|
国产曰批免费视频播放免费s
|
亚洲视频免费一区
|
国产四虎免费精品视频
|
18禁成年无码免费网站无遮挡
|
91精品免费在线观看
|
国产人成免费视频网站
|
免费AA片少妇人AA片直播
|
亚洲第一香蕉视频
|
中文字幕亚洲综合精品一区
|
亚洲精品国产电影午夜
|
亚洲1区1区3区4区产品乱码芒果
|
亚洲人成人77777网站
|
亚洲国产精品久久久天堂
|
久久亚洲国产精品一区二区
|
亚洲网址在线观看你懂的
|
亚洲一区二区三区亚瑟
|
亚洲精品亚洲人成在线
|
乱人伦中文视频在线观看免费
|
国产黄在线观看免费观看不卡
|
a级黄色毛片免费播放视频
|
久久国产高潮流白浆免费观看
|
99久久国产热无码精品免费
|
国产午夜无码精品免费看动漫
|
57pao国产成视频免费播放
|
老司机在线免费视频
|
免费国产a国产片高清网站
|
中文字幕日韩亚洲
|
亚洲色图黄色小说
|
亚洲AV成人一区二区三区观看
|
日韩大片在线永久免费观看网站
|
中文精品人人永久免费
|
亚洲高清免费在线观看
|
国产麻豆免费观看91
|
国产亚洲美女精品久久久久狼
|
亚洲日本国产精华液
|
边摸边脱吃奶边高潮视频免费
|