1.在Java程序中,对于数据的输入/输出操作以“流” (stream) 方式进行
2.
java.io包中定义了多个流类型(类或抽象类)来实
现输入/输出功能;可以从不同的角度对其进行分类:
按数据流的方向不同可以分为输入流和输出流。(以程序的角度来考虑)
按处理数据单位不同可以分为字节流和字符流。
按照功能不同可以分为节点流和处理流。
3.J2SDK 所提供的所有流类型位于包java.io内都分别继承自以下四种抽象流类型。
|
字节流
|
字符流
|
输入流
|
InputStream
|
Reader
|
输出流
|
OutputStream
|
Writer
|
4.File类的分隔符:
<span style="color:#000000;">public static void main(String[] args) {
System.out.println(File.pathSeparator);
System.out.println(File.separator);
//1
String path="C:\\temp\\my\\a.txt";
//2
path = "C:"+File.separator+"temp"+File.separator+"my"+File.separator+"a.txt";
//3
path = "C:/temp/my/a.txt";
}
</span>
5.
File类常用方法——获得根目录磁盘
<span style="color:#000000;">File[] disks = File.listRoots();
for (int i = 0; i < disks.length; i++) {
File disk = disks[i];
System.out.print("磁盘的名称是:"+disk+"\t");
long g = 1024*1024*1024;
System.out.print("总空间是:"+disk.getTotalSpace()/g+"G\t");
System.out.println("剩余空间是:"+disk.getFreeSpace()/g+"G");
}
</span>
6
File类常用方法——文件属性
<span style="color:#000000;">File file = new File("C:/FileTest/a.txt");
System.out.println("文件是否存在:"+file.exists());
System.out.println("是否是文件:"+file.isFile());
System.out.println("是否可读:"+file.canRead());
System.out.println("是否可写:"+file.canWrite());
System.out.println("是否隐藏:"+file.isHidden());
System.out.println("可执行:"+file.canExecute());
System.out.println("绝对路径:"+file.getAbsolutePath());
System.out.println("上层路径:"+file.getParent());
System.out.println("文件的长度:"+file.length());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println("文件最后修改时间:"+sdf.format(file.lastModified()));
</span>
7
得到一个磁盘下的所有文件
<span style="color:#000000;">public class FileDemoF {
public static void main(String[] args) {
File file=new File("e:/");
System.out.println(file.getAbsolutePath());
method(file);
}
public static void method(File file){
File[] files=file.listFiles(); //获得文件下所有文件的目录
System.out.println(files.length);
for (int i = 0; i < files.length; i++) {
File f=files[i];
System.out.println(f.getPath());
if(f.isDirectory()&&!f.getName().equals("RECYCLER")
&&!f.getName().equals("System Volume Information"))
method(f);
}
}
}
</span>