public void duxie(File fi) throws Exception{
Reader reader = null;
Writer writer = null;
File file = new File(fi.toString());
reader = new BufferedReader(new FileReader(file));
file = new File("e:/b.txt");
writer = new BufferedWriter(new FileWriter(file));
char[] buff = new char[1024];
for (int i = 0; (i = reader.read(buff)) > 0;) {
System.out.println(i);
writer.write(buff, 0, i);
}
reader.close();
writer.close();
}我想问的是 writer.write(buff, 0, i);
为什么这能写进去?
char[] buff = new char[1024]; 它 只是 一个 char 的数组 啊
是 这步 reader.read(buff) 能 把 文件 写入到 buff ?
而且 1024 为什么要 这个数字 ? 是必须的?
Reader reader = null;
Writer writer = null;
File file = new File(fi.toString());
reader = new BufferedReader(new FileReader(file));
file = new File("e:/b.txt");
writer = new BufferedWriter(new FileWriter(file));
char[] buff = new char[1024];
for (int i = 0; (i = reader.read(buff)) > 0;) {
System.out.println(i);
writer.write(buff, 0, i);
}
reader.close();
writer.close();
}我想问的是 writer.write(buff, 0, i);
为什么这能写进去?
char[] buff = new char[1024]; 它 只是 一个 char 的数组 啊
是 这步 reader.read(buff) 能 把 文件 写入到 buff ?
而且 1024 为什么要 这个数字 ? 是必须的?
writer.writer(buff,0,i) 将buff中从0到i的内容写道输出流。
1024只是缓冲区长度1k = 2^10
writer.writer(buff)改成这样 写 有什么问题吗?
里面也有 write(char[] cbuf, int off, int len)
写入字符数组的某一部分。 方法
上面的 代码我是网上 找来的
为什么要 创建一个 Writer 然后 再 用 write 方法
对象.方法()
br.write(char[] cbuf, int off, int len)
这个方法 和 Writer writer对象的write(char[] cbuf, int off, int len)
的区别
所以下面的writer肯定能输出到文件了