用FileReader的read()方法实现读字符文件,FileWriter的write()方法实现写字符文件
这两个操作,在java中基本都是用发动机BufferedReader的readLine()方法,BufferedWriter的write()方法来实现,我试过用FileR...
这两个操作,在java中基本都是用发动机BufferedReader的readLine()方法,BufferedWriter的write()方法来实现,我试过用FileReader的read()方法来实现,可它却是读文件中的一个字节后,返回它的ASCII码,用这个方法无法确定什么时候读到文件内容的最后。。。
展开
2个回答
展开全部
try
{
FileReader fr = new FileReader("d:/a.txt");
BufferedReader br = new BufferedReader(fr);
FileWriter fw = new FileWriter("d:/b.txt");
BufferedWriter bw = new BufferedWriter(fw);
// 定义一个String类型的变量,用来每次读取一行
String str;
while (br.ready())
{
// 读取一行
str= br.readLine();
// 写入文件
bw.write(str);
bw.newLine();
}
// 刷新该流的缓冲
bw.flush();
bw.close();
br.close();
fw.close();
br.close();
fr.close();
} catch (IOException e)
{
e.printStackTrace();
}
{
FileReader fr = new FileReader("d:/a.txt");
BufferedReader br = new BufferedReader(fr);
FileWriter fw = new FileWriter("d:/b.txt");
BufferedWriter bw = new BufferedWriter(fw);
// 定义一个String类型的变量,用来每次读取一行
String str;
while (br.ready())
{
// 读取一行
str= br.readLine();
// 写入文件
bw.write(str);
bw.newLine();
}
// 刷新该流的缓冲
bw.flush();
bw.close();
br.close();
fw.close();
br.close();
fr.close();
} catch (IOException e)
{
e.printStackTrace();
}
展开全部
如果读到文件末尾,read()方法会返回-1,如:
public static void main(String[] args) throws Exception {
FileReader fr = new FileReader("f:/test.txt");
try {
int i;
while ((i = fr.read()) != -1) {
System.out.print((char) i);
}
} finally {
fr.close();
}
}
public static void main(String[] args) throws Exception {
FileReader fr = new FileReader("f:/test.txt");
try {
int i;
while ((i = fr.read()) != -1) {
System.out.print((char) i);
}
} finally {
fr.close();
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询