-
IO流(输入流、输出流)
字节流、字符流
字节流
1)InputStream、OutputStream 两个都抽象类
InputStream抽象了应用程序读取数据的方式
OutputStream抽象了应用程序写出数据的方式
2)EOF = End 读到-1就读到结尾
3)输入流基本方法
int b = in.read();读取一个字节(=8位)无符号填充到int低八位 -1是EOF
in.read(byte[ ] buf) 读取数据填充到字节数组buf
in.read(byte[ ] buf,int start,int size) 读取数据到字节数组buf 从buf的start位置开始存放size长度的数据
4)输出流基本方法
out.write(int b) 写出一个byte到流,b的低8位
out.write(byte[ ] buf)将buf字节数组都写入到流
out.write(byte[ ] buf,int start,int size)字节数组buf从start位置开始写size长度的字节到流
5)FileInputStream--->具体实现了在文件上读取数据
6)FileOutputStream--->实现了向文件中写出byte数据的方法
查看全部 -
IO流(输入流、输出流)
字节流、字符流
字节流
1)InputStream、OutputStream 两个都抽象类
InputStream抽象了应用程序读取数据的方式
OutputStream抽象了应用程序写出数据的方式
2)EOF = End 读到-1就读到结尾
3)输入流基本方法
int b = in.read();读取一个字节(=8位)无符号填充到int低八位 -1是EOF
in.read(byte[ ] buf) 读取数据填充到字节数组buf
in.read(byte[ ] buf,int start,int size) 读取数据到字节数组buf 从buf的start位置开始存放size长度的数据
4)输出流基本方法
out.write(int b) 写出一个byte到流,b的低8位
out.write(byte[ ] buf)将buf字节数组都写入到流
out.write(byte[ ] buf,int start,int size)字节数组buf从start位置开始写size长度的字节到流
5)FileInputStream--->具体实现了在文件上读取数据
查看全部 -
Java.io.File类用于表示文件(目录)
File类只用于表示文件(目录)的信息(名称、大小等),不能用于文件内容的访问
查看全部 -
1. PrintWriter的print、println方法可以接受任意类型的参数,而BufferedWriter的write方法只能接受字符、字符数组和字符串;
2. PrintWriter的println方法自动添加换行,BufferedWriter需要显示调用newLine方法;
3. PrintWriter的方法不会抛异常,若关心异常,需要调用checkError方法看是否有异常发生;
4. PrintWriter构造方法可指定参数,实现自动刷新缓存(autoflush);
5. PrintWriter的构造方法更广
6.PrintWriter提供println()方法可以写不同平台的换行符,而BufferedWriter可以任意设定缓冲大小
查看全部 -
java 是双字节编码
查看全部 -
关于read返回值的问题:
一开始read返回的是读取的字节数;当把内容都读完后,返回的数为-1
举个例子:
例如要读取的文件字节数是100,buf.length为60。
第一次read返回给bytes的是读取的字节数:大小为数组的长度60;
第二次read返回给bytes的还是读取的字节数,但大小为剩下的100-60=40了;
第三次由于到文件末尾,100个字节内容都读完了,read就返回-1给bytes
综上,文件没读完时,read返回的是读取的字节数;文件读完后,read返回的是-1,用于判断文件是否读取完成。
查看全部 -
RandomAccessFile
查看全部 -
文本文件就是字节序列
可以是任意编码的字节序列
如果我们在中文机器上直接创建文本文件,俺么该文本文件值认识ansi编码
联通,联这是一桩巧合,他们正好符合utf-8编码规则
查看全部
举报