博客地图
实现梦想
生活♥梦想-- 每天都要提醒自己坚持自己的梦想
BlogJava
首页
新随笔
联系
聚合
管理
随笔分类
(39)
DataBase(4)
(rss)
HTML(1)
(rss)
java(11)
(rss)
javascript(1)
(rss)
System(2)
(rss)
WebGis(4)
(rss)
小幽默(4)
(rss)
思绪(12)
(rss)
收藏夹
(24)
我用的网址(21)
(rss)
面试题(3)
(rss)
随笔档案
(42)
2012年12月 (2)
2012年11月 (1)
2011年5月 (1)
2009年2月 (1)
2008年10月 (1)
2008年1月 (2)
2007年12月 (2)
2007年11月 (4)
2007年10月 (7)
2007年9月 (12)
2007年8月 (9)
最新随笔
1. js的执行顺序
2. 异常 Bad version number in .class file
3. ibatis处理oracle数据库中xmltype的问题
4. 长远目标
5. 关于离散点网格
6. 不错的言论
7. 同学聚会
8. 李嘉诚50年的日不落经营哲学
9. 这是什么循环啊!!!
10. MySql远程连接的问题
最新评论
1. re: ibatis处理oracle数据库中xmltype的问题
能详细说下是如何解决的吗?
--虫虫大帅
2. re: ibatis处理oracle数据库中xmltype的问题
评论内容较长,点击标题查看
--怎么羡慕天空的飞鸟
3. re: ibatis处理oracle数据库中xmltype的问题[未登录]
有遇到类似问题的吗
--飞鸟
4. re: 共享登录窗口无法输入用户名
充电
--李晗
5. re: 共享登录窗口无法输入用户名
还行
--李晗
java实现读写文件操作的三种不同方式
Posted on 2007-09-18 10:13
怎么羡慕天空的飞鸟
阅读(2607)
评论(1)
编辑
收藏
所天用到了java里的读写文件操作,查了一些资料,发现不论是读文件还是写文件都有三种不同的方式:我想请教各位高手三种方式各有什么优缺点,先谢谢各位了。
读操作三种方式:
1 : BufferReader
2 : FileReader
3 : InputStreamReader
写文件得三种方式:
1 :PrintWriter
2 :FileWriter
3 :OutputStreamWriter
以下是测试用得代码:
/** */
/**
*********************************************************
*2007-9-17
*Blw.beans
*DManagement
*MagicBlw
**********************************************************
*/
package
test;
import
java.io.BufferedReader;
import
java.io.
*
;
public
class
MakeJsp
{
/** */
/**
*
@param
args
*/
//
定义生产文件名称
private
String name
=
"
moban
"
;
private
String houzhui
=
"
.html
"
;
//
定义所查看文件的路径
private
String addresspath
=
"
d://2.html
"
;
private
String addresspath1
=
"
D://top.html
"
;
private
String neirong
=
"
姓名
"
;
public
static
void
main(String[] args)
{
MakeJsp w
=
new
MakeJsp();
w.getFile();
}
public
void
getFile()
{
File file1
=
new
File(addresspath);
//
要写进去的内容
String s
=
"
000000000000000000000
"
+
neirong;
String s1
=
"
111111111111111111111
"
+
neirong;
String s2
=
"
222222222222222222222
"
+
neirong;
String s3
=
"
<html><body>blw==
"
+
neirong
+
"
</body></html>
"
;
PrintWriter pw
=
null
;
BufferedReader br
=
null
;
OutputStreamWriter ow
=
null
;
FileWriter fw
=
null
;
FileReader fr
=
null
;
InputStreamReader isr
=
null
;
try
{
//
创建文件
file1.createNewFile();
/**/
/*
* 读文件的三种方式:
*/
//
读文件方式一:
br
=
new
BufferedReader(
new
InputStreamReader(
new
FileInputStream(addresspath1)));
String data
=
null
;
while
((data
=
br.readLine())
!=
null
)
{
//
data=(new String(data.getBytes("ISO-8859-1"),"GB2312")).trim();
System.out.println(data);
}
//
读文件方式二:
fr
=
new
FileReader(addresspath1);
int
ch
=
0
;
while
((ch
=
fr.read())
!=-
1
)
{
//
FileReader方式是通过读取单个字符实现的 所以用 System.out.print
System.out.print((
char
)ch);
}
//
读文件方式三
isr
=
new
InputStreamReader(
new
FileInputStream(addresspath1));
int
ch1
=
0
;
while
((ch1
=
isr.read())
!=-
1
)
{
//
InputStreamReader方式是通过读取单个字符实现的 所以用 System.out.print
System.out.print((
char
)ch1);
}
/**/
/*
* java写文件的三种方式
*/
//
方式一
pw
=
new
PrintWriter(
new
OutputStreamWriter(
new
FileOutputStream(addresspath)),
true
);
pw.println(s);
//
方式二:
fw
=
new
FileWriter(addresspath);
fw.write(s1,
0
, s1.length());
fw.flush();
//
方式三:
ow
=
new
OutputStreamWriter(
new
FileOutputStream(addresspath));
ow.write(s3,
0
, s3.length());
ow.flush();
}
catch
(IOException e)
{
//
TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
//
关闭资源
try
{
pw.close();
br.close();
ow.close();
fw.close();
fr.close();
isr.close();
}
catch
(IOException e)
{
//
TODO Auto-generated catch block
System.out.println(
"
关闭文件资源失败
"
);
}
}
}
}
核心: 勇敢进取年轻的心
Feedback
#
re: java实现读写文件操作的三种不同方式
回复
更多评论
2007-09-18 15:20 by
BeanSoft
最底层的实现都是 OutputStreamWriter 和 InputStreamReader, 这三种都输入文本输入输出流的部分. BufferReader 有缓冲区, 读写较快; 其它的没有. PrintXXX 是能够以行为单位进行读写处理.
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
公告
♥ 勇敢的心
♥
♥ 戒掉浮躁
♥
关注的blog
beansoft
ken
千里冰封
阿密果
学习的地方
IBM(xml学习)
IBM中国
java sample
UNIX
W3schools
朋友的地盘
gary
呼呼
喀喀喀
新生
评论排行榜
1. 请教一个关于char的问题(6)
2. 对症下药(4)
3. 类方法可以理解为静态方法吗(4)
4. 当你考虑为在农村的父母购买保险(3)
5. 语录(3)
Copyright © 怎么羡慕天空的飞鸟