只能写入,课程用缓冲写的,我就想直接用filereader写写,无法读取了,但是可以正常运行
package liu;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
public class zifuliuwenjian {
public static void main(String[] args) throws IOException {
ArrayList a = new ArrayList();
a.add(“akj");
a.add("shj");
a.add("shbw");
FileWriter w = new FileWriter("D:\\java\\w\\untitled\\zifuliuwenjian.txt");
int index = 0;
for (String r : a) {
w.write(a.get(index));
w.write("\r\n");
char[] ui = a.get(index).toCharArray();
index++;
}
FileReader o = new FileReader("D:\\java\\w\\untitled\\zifuliuwenjian.txt");
char[] kj = new char[1024];
int gh;
while ((gh = o.read(kj)) != -1) {
System.out.println(new String(kj, 0, gh));
}
o.close();
w.close();
}
}
看看这个:
ArrayList a = new ArrayList();
a.add("akj");
a.add("shj");
a.add("shbw");
FileWriter w = new FileWriter("D:\\java\\w\\untitled\\zifuliuwenjian.txt");
int index = 0;
for (String r : a) {
w.write(a.get(index));
w.write("\r\n");
char[] ui = a.get(index).toCharArray();
index++;
}
w.flush();
FileReader o = new FileReader("D:\\java\\w\\untitled\\zifuliuwenjian.txt");
char[] kj = new char[1024];
int gh;
while ((gh = o.read(kj)) != -1) {
System.out.println(new String(kj, 0, gh));
}
o.close();
w.close();
你乱往里面写东西,把格式写乱了呗
再去老师或同学那copy一个过来
再写之前记得先备份,别乱改改不回去
FileWriter 写完数据后,需要调用flush,将缓冲的数据写入文件中,不然下面是读取不到的(因为数据还在缓冲区)。
close里面也会去调用flush方法,可以用w.close();
public static void main(String[] args) throws IOException {
ArrayList<String> a = new ArrayList();
a.add("akj");
a.add("shj");
a.add("shbw");
FileWriter w = new FileWriter("D:\\java\\w\\untitled\\zifuliuwenjian.txt");
for (String r : a) {
w.write(r);
w.write("\r\n");
}
w.close();
FileReader o = new FileReader("D:\\java\\w\\untitled\\zifuliuwenjian.txt");
char[] kj = new char[1024];
int gh;
while ((gh = o.read(kj)) != -1) {
String str1 = new String(kj, 0, gh);
System.out.println(str1);
}
o.close();
}