java学习_javaIo

来源:互联网 发布:linux永久设置密码 编辑:程序博客网 时间:2024/06/05 14:44

java_IO相关


File用于表示文件系统中的一个文件或目录。

通过File可以:
1.访问该文件或目录的属性信息。(名字,大小,修改时间)
2.操作文件或目录,创建,删除。
3.访问一个目录的子项目。
但是不能读取文件数据。


File file = new File("路径");
file.exists() //文件是否存在
file.createNewFile();//创建文件
file.delete();  //删除文件 
删除目录时要求该目录必须是一个空目录
file.isDirectory(); //判断是否为目录
file.isFile();     //是否为文件
file.listFiles();  //获取file中的子项
file.listFiles(FileFilter filter);//获取过滤后的子项
file.mkdir();         //创建目录
//创建多级目录
File dirs = new File("a"+File.separator+
                     "b"+File.separator+  
                     "b"+File.separator)

文件的读取与写入。mode表示权限。r:只读。rw:读写模式。
RandomAccessFile raf = new RandomAccessFile(File file,String mode);//
int byte = raf.read();//读取一个字节,并以int形式返回。若返回值为-1,则表示读取到文件末尾。
int a = raf.readInt();//读取一个int值
byte[] bs = new byte[100];
int len =  raf.read(bs); //读取字符串。读取一组字节。返回读取到的字节数
raf.write(int a);//向文件中写入一个字节,写的是给定的int的值对应的2进制的低八位
raf.write(byte[] bs);//向文件中写入一组字节
raf.writeInt(int i);//向文件中写入一个int值
raf.seek(0);//移动指针。

文件输入流,用于从文件中读取数据的流。默认是覆盖模式.
FileInputStream fin = new FileInputStream("fos.txt");//
int len = in.read(byte[] bs);//读取一组字节
FileOutputStaeam fos = new FileOutputStream("fos.txt");
fos.write(byte[] bs);//写入一组字节


缓冲输出流,是一对高级流,功能是加快读写效率。
BufferedOutputStream
BufferedInputStream
bos.close();//关闭流时,调用flush()方法,清空缓冲区


对象流,是一对高级流,读写java中的对象(对象与字节的转换工作)
ObjectOutputStream
objectInputStream
对象输出流将对象写出时转换为一组字节的过程为:对象序列化。 
一个类的实现希望被对象流读写,那么要求该类必须实现Serializable接口




java根据流读写数据的单位划分为:字节流,字符流。
字节流以字节为单位读写数据。
字符流以字符(unicode)为单位读写数据,但是底层本质上还是读写字节,
只是字节与字符的转换工作由字符流完成。
Writer和Reader是所有字符流的父类,他们是一对抽象类,规定了所有字符流
都要具备的读写字符方法。

OutputStreamWriter osw = new OutputStreamWriter(fos,"utf-8") 
InputStreamReader isr = new InputStreamRead(fis,"utf-8")

缓冲字符流
缓冲字符流内置缓冲区,可以提高读写效率,并且缓冲字符流的特点是可以按行读写字符串
BufferedWriter
BufferedReader

PrinterWriter是常用的缓冲字符流,并且还提供了行刷新功能。
由于创建PrinteWriter时内部总是嵌套BufferedWriter实现。

BufferedReader提供方法:
readLine()连续读取若干字符,直到读取了换行符为止,
将之前的所有字符以一个字符串形式返回。返回的字符串不包含最后的换行符。
若返回值为null,则表示末尾。







































































































 



原创粉丝点击