用FileReader的read()方法实现读字符文件,FileWriter的write()方法实现写字符文件

这两个操作,在java中基本都是用发动机BufferedReader的readLine()方法,BufferedWriter的write()方法来实现,我试过用FileReader的read()方法来实现,可它却是读文件中的一个字节后,返回它的ASCII码,用这个方法无法确定什么时候读到文件内容的最后。。。

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();
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-02-26
如果读到文件末尾,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();
}
}本回答被提问者和网友采纳

java中如何从txt文件中一行一行读取汉字,再存到另一txt文件中
首先用FileReader fileReader=new FileReader(路径)来创建一个节点流,然后用BufferedReader reader=new BufferedReader(fileReader),以BufferederReader处理流来包装这个节点流,然后调用 BufferedReader类里面的readLine()方法就可以一行一行地读了。至于存到另一个txt文件中,你把上面输入流读到的东西放到一个...

java中关于FileReader的read方法!!
FileReader的read() 方法是阻塞式的,读取字节或数据块,直到无数据输入。它要么返回数据的下一个字节,当到达文件末尾时,返回-1。这意味着,我们每循环读取一个字节,将其打印为十六进制字符串。顺便说一句,将InputStream转换成字节数组是可选的。另一方面,例2是按字符读取数据。继承自FileReader的Inpu...

C++ 采用read()和write()读写二进制文件
1. 使用write()将学生信息写入文件,如"ofstream obj; obj.open("students.dat", ios::out | ios::binary); obj.write(&s, sizeof(s));"2. 使用read()读取文件内容,如"ifstream obj("students.dat"); CStudent s; obj.read(&s, sizeof(s));"这样,文件中存储的不再是文本格式的学...

C++中如何利用<fstream>从txt文件中读入和输出完整的一句话?
ifstream file2("c:\\\\pdos.def");\/\/以输入方式打开文件ofstream file3("c:\\\\x.123");\/\/以输出方式打开文件 所以,在实际应用中,根据需要的不同,选择不同的类来定义:如果想以输入方式打开,就用ifstream来定义;如果想以输出方式打开,就用ofstream来定义;如果想以输入\/输出方式来打开,就用fstream来定义。二、...

Python 文件(File) write() 方法
write()方法主要用于将数据写入到已存在的文件中,或者在创建新文件时写入初始内容。它接收一个字符串或字节对象作为参数,将这些数据插入到文件的指定位置。这个方法在处理文本文件和二进制文件时有所不同,但核心功能都是数据的写入和保存。要使用write()方法,首先需要通过open()函数打开文件,然后调用...

...类将字符数字与字符串写到文件中,利用filereader类读取显示_百度知 ...
public void fileReaderOrWriter() throws IOException{ FileWriter fw = new FileWriter(new File("D:\\\\1.txt")); fw.write("我是一只小小鸟"); fw.write("\\r\\n"); \/\/换行 fw.write("怎么飞也飞不高"); fw.flush(); \/\/刷新缓存池 fw.close(); \/\/关闭 FileRe...

Python File文件处理 读取文件(read)
打开文件读取数据,首先需要使用内置的open()函数。默认情况下,该函数返回一个文件对象,文件对象具有用于读取文件内容的read()方法。例如,`open('demofile.txt', 'r')`。如果文件位于其他位置,则必须指定文件路径。读取文件内容时,read()方法默认返回整个文本。若需返回指定数量的字符,可以指定参数...

python中,读取文件时什么情况时需写上encoding=utf-8,什么
一、例子与说明 假设有一个名为 test.txt 的文件,内容如下:接下来,我们使用Python代码进行操作:执行结果展示了在不同模式下读取文件时的差异。当打开文件不携带 'b' 参数时,需要指定编码。如果未指定,则使用默认编码。此时调用文件的 read() 方法会得到字符串。反之,当打开文件模式包含 'b' ...

读写文件的基本流有哪些
int read() throws IOException 读取一个字符以整数形式返回,如果返回-1已到输入流的末尾 七、节点流类型 八、访问文件之FileInputStream和FileOutputStream继承基类用于向文件中输入输出字节 九、访问文件之FileReader和FileWriter继承基类用于向文件中输入输出字符 ---输出流在构造函数第二个参数可以设置tr...

java读写同一个文件
追加写, new FileReader(file)以读的方式打开了文件,两个马上就以new FileWriter(file)方式覆盖写文件,文件自然是空白的,之后你readLine读到的是null,即String line是null,然后你要writer.write(line); 即writer.write(null); 自然报空指针;建议,如果边读边写,考虑RandomAccessFile类 ...

相似回答