资讯专栏INFORMATION COLUMN

JAVA IO

happen / 1110人阅读

摘要:在字节流中输出数据主要是使用完成,输入使的是,在字符流中输出主要是使用类完成,输入流主要使用类完成。这四个都是抽象类字节流一般用于读写二进制文件,字符流一般用于读取字符流文件。

File 类

一般通过路径构造:new File(”PATH“)

 判断方法

  1 boolean canExecute()  判断文件是否可以执行

  2 boolean canRead() 判断文件是否可读

  3 boolean canWrite() 判断文件是否可写

  4 boolean exist() 判断文件是否存在

  5 boolean isDirectory() 判断文件是目录

  6 boolean isFile() 判断是否是文件

  7 boolean canHidden() 判断文件是否可见

  8 boolean isAbsolute() 判断文件是否是绝对路劲 ,文件不存在也能判断


 获取方法

 1.String getName()
 2.String getPath()
 3.String getAbsolutePath()
 4.String getParent()//如果没有父目录返回null
 5.long lastModified()//获取最后一次修改的时间
 6.long length()
 7.boolean renameTo(File f)
 8.File[] liseRoots()//获取机器盘符
9.String[] list()
10.String[] list(FilenameFilter filter)
JAVA IO

IO流

IO流的关系

一般,JAVA的IO分为字符流和字节流。两类都分为输入和输出操作。在字节流中输出数据主要是使用OutputStream完成,输入使的是InputStream,在字符流中输出主要是使用Writer类完成,输入流主要使用Reader类完成。(这四个都是抽象类)

字节流一般用于读写二进制文件,字符流一般用于读取字符流文件。

流的读方法:

字节流
int read() //读取单个字节,返回值为将该字节对应的整型值
int read(byte[]b) //最多读取b.length个字节,返回实际获得的字节数
int read(byte[]b,int off,int len) //最多读取len个字节,存在b[off]后,返回实际获得的字节数

字符流
int read() //读取一个字符,并将字符数据转为int,如A可以转为46
int read(char[]b) //最多读取b.length个字符,返回实际获得的字符数
int read(char[]b,int off,int len) //最多读取len个字符 ,存在b[off]后,返回实际获得的z字符数

共有
void mark(int readAheadLimit) //在当前指针位置记录mark
boolean markSupported() //判断流是否支持mark
void reset()//将指针定位在mark
long skip(long n)//将指针后移n位

流的写方法

字节流
void write(int c) 
void write(byte[]b) 
void write(byte[]b,int off,int len) 

字符流
void write(int c)
void write(char[]b) 
void write(char[]b,int off,int len)
void write(String str)
void write(String str,int off,int len)
常用字节/字符流

Filexxx: FileInputStream、FileOutputStream、FileReader、FileWriter

Bufferxxx: BufferedInputStream、BufferedOutputStream、BufferReader、BufferWriter

Pipedxxx:用户进程间通信

PrintStream 是用来装饰其它输出流。它能为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。PrintStream 提供了自动flush 和 字符集设置功能。所谓自动flush,就是往PrintStream写入的数据会立刻调用flush()函数。

转换流

InputStreamReader:将字节流转换为字符流
OutputStreamWriter:将字符流转换为字节流
这两个流对象是字符体系中的成员,它们有转换作用,本身又是字符流,所以在构造的时候需要传入字节流对象进来。

BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));  
标准输出重定向
PrintStream out = new PrintStream new FileOutputStream(file));

static void setErr(PrintStream err) 重定向“标准”错误输出流
static void setIn(InputStream in)    重定向“标准”输入流
static void setOut(PrintStream out)重定向“标准”输出流
RandomAccesFile

RandomAccesFile

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/67888.html

相关文章

  • Java编程基础21——IO(字节流)

    摘要:流按操作类型分为两种字节流字节流可以操作任何数据因为在计算机中任何数据都是以字节的形式存储的字符流字符流只能操作纯字符数据,比较方便。 1_IO流概述及其分类 1.概念 IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的类都在IO包中 流按流向分为两种:输入流,输出流。 流按操作类型分为两种: 字节流 : 字节流可以操作任何数据,因为在...

    yanbingyun1990 评论0 收藏0
  • Java编程基础22——IO(字符流)&字符流其他内容&递归

    摘要:字符流字符流是什么字符流是可以直接读写字符的流字符流读取字符就要先读取到字节数据然后转为字符如果要写出字符需要把字符转为字节再写出类的方法可以按照字符大小读取通过项目默认的码表一次读取一个字符赋值给将读到的字符强转后打印字符流类的方法可以 1_字符流FileReader 1.字符流是什么 字符流是可以直接读写字符的IO流 字符流读取字符, 就要先读取到字节数据, 然后转为字符. ...

    BoYang 评论0 收藏0
  • Java IO之NIO

    摘要:上篇说了最基础的五种模型,相信大家对相关的概念应该有了一定的了解,这篇文章主要讲讲基于多路复用的。 上篇说了最基础的五种IO模型,相信大家对IO相关的概念应该有了一定的了解,这篇文章主要讲讲基于多路复用IO的Java NIO。 背景 Java诞生至今,有好多种IO模型,从最早的Java IO到后来的Java NIO以及最新的Java AIO,每种IO模型都有它自己的特点,详情请看我的上...

    pingink 评论0 收藏0
  • Fabric学习笔记(七) - fabric-sdk-java End2endIT运行

    摘要:目的因最熟悉故最后还是拿做突破口学习本文只运行功能以后具体在分析运行环境网络远程本地远程下载运行网络核查网络是否启动成功这一步我遇到的问题是未启动成功原因在于中这 目的 因最熟悉java,故最后还是拿java做突破口学习sdk,本文只运行demo,sdk功能以后具体在分析. 运行环境 Fabric网络 远程Centos Fabric-sdk-java 本地MacOs Intellij...

    mzlogin 评论0 收藏0
  • Netty ByteBuf 谁负责谁释放

    摘要:转发自 转发自 http://netty.io/wiki/referenc... Since Netty version 4, the life cycle of certain objects are managed by their reference counts, so that Netty can return them (or their shared resources)...

    Lyux 评论0 收藏0
  • Java IO初探

    Java IO对大多数Java程序员来说是熟悉又陌生,熟悉的是感觉到处都有它的身影,小到简单的读取文件,大到各种服务器的应用,陌生的是Java IO背后到底是一个怎样的机制,今天就让我们去了解一下这位老朋友吧。本文不讲解Java IO如何具体使用,有这方面需求的同学可以自己查下。 IO模型 要说IO,就不得不说IO模型,IO模型大家都有所了解,同步异步,阻塞非阻塞什么的,总的来说IO模型可分为以下...

    edgardeng 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<