时间:2021-05-20
本文实例讲述了Java输入输出流。分享给大家供大家参考,具体如下:
字节输出流,输出到文件中(写)
OutputStream抽象类
选好文件
复制代码 代码如下:File file = new File("E:" + File.separator + "myFile" + File.separator + "test" + File.separator + "123.txt");
子类实例化,需要抛异常
稍后传输的数据覆盖原内容
OutputStream output = new FileOutputStream(file);稍后传输的数据追加在原数据之后
OutputStream output = new FileOutputStream(file,true);选好数据,转换为字节数组
String msg = "你好\r\n世界";byte data[] = msg.getBytes();输出到文件(向文件中写数据)
output.write(data);写入部分数据
output.write(data,3,8);关闭输出流
output.close();字节输入流,文件中数据读取到程序中(读)
InputStream抽象类
选好文件
File file = new File("E:" + File.separator + "myFile" + File.separator + "test" + File.separator + "123.txt");子类实例化,需要抛异常
FileInputStream input = new FileInputStream(file);读取数据,并将数据保存到指定字节数组中
byte data[] = new byte[100];int len = input.read(data);三种读取数据方式
byte data[] = new byte[100];int len = input.read(data);从此输入流中将最多 data.length 个字节的数据读入data数组中。在某些输入可用之前,此方法将阻塞。
返回:读入缓冲区的字节总数,如果因为已经到达文件末尾而没有更多的数据,则返回 -1。
byte data[] = new byte[100];int len = input.read(data,5,14);从此输入流中将最多14个字节的数据读入data数组中,读入位置为data数组后偏移5个位置,即读入的开始位置是数组脚标为5的位置
返回:读入缓冲区的字节总数,如果因为已经到达文件末尾而没有更多的数据,则返回 -1。
byte data[] = new byte[100];int i = 0;int read = input.read();while (read != -1){ data[i++] = (byte)read; read = input.read();}从此输入流中读取一个数据字节。如果没有输入可用,则此方法将阻塞。
返回:下一个数据字节;如果已到达文件末尾,则返回 -1。
注意有参数的和无参数的read方法的返回值是不一样的,有参数的返回的是读取字节的个数,无参的返回的是字节的int值,如果要保存到字节数组,还需要强转为byte型。
将字节数组转换为字符串输出到控制台
String x = new String(data);System.out.println(x);关闭输入流
input.close();字符输出流:Writer
import java.io.File;import java.io.FileWriter;import java.io.Writer;public class Hello { public static void main(String[] args) throws Exception{ File file = new File("E:" + File.separator + "myFile" + File.separator + "test" + File.separator + "123.txt"); Writer writer = new FileWriter(file); writer.write("你好\r\nworld"); writer.close(); }}write方法的参数直接写字符串即可。
必须要关闭字符输出流,不然数据只是保存在缓冲区中,并没有写入文件。
字符输入流:Reader
import java.io.File;import java.io.FileReader;import java.io.Reader;public class Hello { public static void main(String[] args) throws Exception { File file = new File("E:" + File.separator + "myFile" + File.separator + "test" + File.separator + "123.txt"); char data[] = new char[100]; Reader reader = new FileReader(file); reader.read(data); String x = new String(data); System.out.println(x); reader.close(); }}read方法是将读取的数据保存到字符数组中。
更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java文件与目录操作技巧汇总》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
java流操作对文件的分割和合并的实例详解学习文件的输入输出流,自己做一个小的示例,对文件进行分割和合并。下面是代码:packagecom.dufy.file;
java对象输入输出流读写文件的操作实例java支持对对象的读写操作,所操作的对象必须实现Serializable接口。实例代码:packagevo;impor
Java中IO流字节流实例详解IO流(输入流、输出流),又分为字节流、字符流。 流是磁盘或其它外围设备中存储的数据的源点或终点。 输入流:程序从输入流读取数
Java核心包java.io包介绍IO:Input/Ouput即输入输出输出流:程序(内存)—>外界设备输入流:外界设备—>程序(内存)处理理数据
PHP输入和输出流是通过php://来访问的,它允许访问PHP的输入输出流、标准输入输出和错误描述符,内存中、磁盘备份的临时文件流以及可以操作其他读取写入文件资