File 类,用来将文件和文件夹封装成对象,方便对文件和文件夹的属性进行操作,
创建File对象,将已有的文件或未出现的文件和文件夹封装成对象。
File file=new File("d:\\e\\a.txt");
这里的"\\" 是Window系统的 分隔符,要是跨平台怎么办?
这时要使用一个跨平台的分隔符:File.separator, 那么上面的代码就可以写成:File file=new File("d:+"File.separator"+e+"File.separator"+a.txt");
File类的常见方法:
1、创建:
boolean createNewFile();
File f1=new File("demo.txt");
f1.createNewFile(); ----------->>这里创建指定位置文件,如果文件已存在,则不创建,返回false, 和输出流不同,输出流对象一建立就会新建文件,若存在则覆盖。
2、删除:
boolean delete();
void deleteOnExit(); 终止时删除
文件属性判断: boolean canExecute();是否可执行 boolean canRead(); 是否可读 boolean canWrite();是否可写
boolean exists() 文件是否存在 boolean isDirectory() 判断是否是目录 (此时一般要先判断文件是否存在)
boolean isFile(); boolean isHidden();
3、获取:
----------------------
properties 类
该类是IO和集合的结合容器,配置文件可以实现应用程序数据的共享。 首先,properties 是以键-值对的形式存储的,使用IO技术。
Properties prop=new Properties();
prop.Load(输入流) 直接从输入流中读取键-值对
prop.Store(输出流); 直接将键-值对写入输出流
--------------------
打印流:
该流提供了打印方法,可以讲各种数据类型的数据都原样打印。
PrintStream:字节打印流;;
构造函数可以接收:1,file文件 2.字符串路径 3,字节输出流 OutputStream
PrintWriter 字符打印流
构造函数可以接收:1、file文件 2、字符串路径 3、字节输出流 OutputSteam 4、字符输出流 Writer
--------------------
RandomAccessFile
随机读写访问: 创建对象后,既能读又能写。 但是要注意在创建时指定的文件模式,“r”只读,rw 可读可写
RandomAccessFile raf=new RandomAccessFile ("demo.txt","rw");
读: byte[] buf=new byte[1024];
int len=raf.read(buf);
String s=new String(buf,0,len);
System.out.println(s);
写:
raf.write("abdcead".getBytes());
或者 raf.wrte(byte[]);