文件和流的概述
字节输入输出流
while (true){
try{
int b = din.readInt();
System.out.print(b);
}catch(EOFException e){
break;
}catch(IOException e){
e.printStackTrace();
}
}
字符输入输出流类
public void WriteToFile() throws IOException{
FileReader fr = new FileReader(srcFile);
BufferedReader br = new BufferedReader(fr);
FileWriter fw = new FileWriter(desFile);
BufferedWriter bw = new BufferedWriter(fw);
String line = br.readLine();
while(line != null){
bw.write(line);
bw.newLine();
line = br.readLine();
}
bw.flush();
bw.close();
fw.close();
br.close();
fr.close();
}
文件操作类
public class FileList {
private int count_dirs; //目录数
private int count_files; //文件数
private long totalBytes; //总文件大小
public FileList(int count_dirs , int count_files , long totalBytes) {
this.count_dirs = count_dirs;
this.count_files = count_files;
this.totalBytes = totalBytes;
}
public void search(File dir) {
System.out.println(dir.getAbsolutePath()); //显示当前路径
File[] files = dir.listFiles(); //获取当前目录下的所有文件
for (File file : files) { //foreach遍历数组
if(file.isFile()){
count_files++;
totalBytes += file.length();
System.out.println("\t\t"+file.getName());
}else{
count_dirs++;
search(file);
}
}
}
public static void main(String[] args) {
FileList fl = new FileList(0, 0, 0);
fl.search(new File("E:\\WORKSPACE"));
System.out.println("dirs:"+fl.count_dirs+"\tfiles:"+fl.count_files+"\ttotalBytes:"+fl.totalBytes);
}
}