字符缓冲流
BufferedReader br=new BufferedReader(new FileReader("D:\\a.txt"));
String line;
while(((line=br.readline())!=null)){
sout(line);
}
br.close();
输入流
BufferedWriter bw=new BufferedWriter(new FileWriter("b.txt"));
bw.write("666");
bw.newLine();//换行
bw.write("11");
bw.close();
读取文件并进行排序
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new FileReader("b.txt"));
String line;
ArrayList<String> list=new ArrayList<>();
while((line=br.readLine())!=null){
list.add(line);
}
br.close();
Collections.sort(list, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
int i1=Integer.parseInt(o1.split("\\.")[0]);
int i2=Integer.parseInt(o2.split("\\.")[0]);
return i1-i2;
}
});
BufferedWriter bw=new BufferedWriter(new FileWriter("b.txt"));
for(String str:list){
bw.write(str);
bw.newLine();
}
bw.close();
}
用到了treemap
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new FileReader("b.txt"));
String line;
TreeMap<Integer,String> tm=new TreeMap<>();
while((line=br.readLine())!=null){
String arr[]=line.split("\\.");
tm.put(Integer.parseInt(arr[0]),arr[1]);
}
br.close();
BufferedWriter bw=new BufferedWriter(new FileWriter("b.txt"));
Set<Map.Entry<Integer,String>> entries=tm.entrySet();
for(Map.Entry<Integer,String> entry:entries){
String value= entry.getValue();
bw.write(value);
bw.newLine();
}
bw.close();
}
读取文件并改变,再把值读入文件,即文件得到改变
BufferedReader br=new BufferedReader(new FileReader("b.txt"));
String line=br.readLine();
int count=Integer.parseInt(line);
count++;
if(count<=3){
System.out.println("mainfei");
}else{
System.out.println("会员");
}
BufferedWriter bw=new BufferedWriter(new FileWriter("b.txt"));
bw.write(count+"");
bw.close();
读取文件
public static void main(String[] args) throws IOException {
FileReader fr=new FileReader("b.txt", Charset.forName("GBK"));
int ch;
while((ch=fr.read())!=-1){
System.out.println((char)ch);
}
fr.close();
FileWriter fw=new FileWriter("b.txt",Charset.forName("GBK"));
fw.write("年后");
fw.close();
}
利用字节流读取数据
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream("b.txt")));
String line;
while((line=br.readLine())!=null){
System.out.println(line);
}
br.close();