读书人

JAVASE-IO源

发布时间: 2012-10-06 17:34:01 作者: rapoo

JAVASE--IO流

1.文件(File)

**\n--换行,\\路径;

**enter+newline with different platforms:

windows: ? \r\n

mac: ? ? ? ? ? \r

unix/linux: ?\n

File.separator--当前系统默认的分隔符

**new File(“E:\\abc.txt”),创建一个文件对象,此时仅在内存中

**new File(“E:\\abc.txt”).createNewFile(),才创建一个文本在硬盘中

**new File("").mkdir();创建单极目录;

**new File("").mkdirs();可以创建多级目录

**delete(); 目录必须为空才能删除成功

**文件执行.list();返回的数组内容是"."或".."

**RandomAccessFile;随机访问文件类,指针可以根据需要任意的跳动

seek(long n);从开头开始计算,指针跳到第n个字节

**如果是BufferedReader;skip(long n);跳过N个字节

2.流

**最后用完,释放资源(.close())

从数据流向:输入流(InputStream),输入流(OutputStream)

从数据类型上:字符流(Reader/Writer),字节流(InputStream/OutputStream)

字节流:byte[]

int read();读取一个字节

int available();返回值为流中尚未读取的字节数量

long skip(long n);跳过n个字节

void write();

flush();把流中的数据提交到目的地

FileInputStream/FileOutputStream

运用以上字节流操作是,读取或是写入,应该是对Byte[]进行处理

BufferedInputStream/BufferedOutputStream

BufferedOutputStream,数据的写入需要调用到flush();对流进行清空,以便将数据完全写入到磁盘

字符流:char[]

InputStreamReader/OutputStreamWriter

char[]

BufferedReader/BufferedWriter

BufferedWriter.flush();

**文本文件在磁盘上存储是以ASCⅡ码的形式,单个数据占一个字符(16进制)

**二进制文件在磁盘上存储是以对应数据类型的ASCⅡ码形式,所占字符有所对应的数据类型决定

读书人网 >编程

热点推荐