import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
// 流 以 内存 为参照
// 字节流 : FileOuputStream FileInputStream
// 字符流 : FileWriter FileReader
// 缓冲流: BufferedWriter BufferedReader
public class IO {
public static void main(String[] args){
fileReader();
}
//字节流 输出流
public static void fileOutputStream(){
File f = new File("e:\\text.txt"); //指定到支持的文件
try{
//文件不存在时创建
if(f.exists()==false){
f.createNewFile();
}
FileOutputStream fos = new FileOutputStream(f);
String str = "今天的天气很闷沉";
byte[] b = str.getBytes();
fos.write(b);
fos.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
//字符流 输出流
public static void fileWriter(){
File f = new File("e:\\text.txt");
try{
if(f.exists()==false){
f.createNewFile();
}
FileWriter fw = new FileWriter(f,true); //true 表示不覆盖文件里面的内容
String str = "今天的天气很闷沉";
char[] ch = str.toCharArray();
fw.write("\r\n"); //写入换行
fw.write(ch);
fw.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
// 缓冲流 输出流
public static void bufferedWriter(){
File f = new File("e:\\text.txt");
try{
if(f.exists()==false){
f.createNewFile();
}
BufferedWriter bw = new BufferedWriter(new FileWriter(f,true)); // 以字符流的对象为参数
//缓冲流可以直接操作字符
bw.write("\r\n");
bw.write("天气不是很好!");
bw.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
//字节流 输入流
public static void fileInputStream(){
File f = new File("e:\\text.txt");
try{
if(f.exists()==false){
f.createNewFile();
}
FileInputStream fis = new FileInputStream(f);
// 字节数组的长度 ,由文件的字节大小
byte[] b = new byte[(int)f.length()];
fis.read(b); //读入数据
String str = new String(b); //以字节数组构建字符串
fis.close();
System.out.println(str);
}catch(Exception ex){
ex.printStackTrace();
}
}
//字符流 输入流
public static void fileReader(){
File f = new File("e:\\text.txt");
try{
if(!f.exists()){
f.createNewFile();
}
FileReader fr = new FileReader(f);
StringBuffer sb = new StringBuffer();
char[] ch = new char[1000]; // 字符的长度未知
int hasRead = 0;
while((hasRead=fr.read(ch))>0){
sb.append(new String(ch,0,hasRead));
}
fr.close();
System.out.println(sb);
}catch(Exception ex){
ex.printStackTrace();
}
}
//缓冲刘 输入流
public static void bufferedReader(){
File f = new File("e:\\text.txt");
try{
if(!f.exists()){
f.createNewFile();
}
BufferedReader br = new BufferedReader(new FileReader(f)); //字符流的对象构造
//每次读取文件的一行
StringBuffer sb = new StringBuffer();
while(br.ready()){ //是否有读取内容
sb.append(br.readLine()); //读取一行
sb.append("\r\n"); //换行
}
br.close();
System.out.println(sb);
}catch(Exception ex){
ex.printStackTrace();
}
}
}
分享到:
相关推荐
2、常用21个IO流:FileWriter、FileReader、...3、JAVA IO流经典代码示例,示例从易到难。代码功能涉及字节、字符、字符串、文本文件、图片、音频、视频。演示错误用法和经典用法。 4、代码的结构可查看README文件。
- 字节流与字符流的转换 - 新潮的 NIO - 缓冲区(Buffer) - 通道(Channel) - 示例:文件拷贝案例 - BIO 和 NIO 拷贝文件的区别 - 操作系统的零拷贝 - 选择器(Selectors) - 选择键(SelectionKey) - ...
JavaIO实例,包括:字节流、字符流、缓冲流、转换流
File 类、RandomAccessFile 类、字节流(文件字节流、缓冲字节流、基本数据类型字节流、打印流、对象序列化流、字节数组流)、字符流(缓冲字符流、文件字符流、转换流、格式化输出流、字符数组流) 这份代码源码...
Java中IO流实例,包括:字节流、字符流、缓冲流、转换流的操作。
java IO流 1. 流的概念 2. 输入流和输出流 3. 字符流、字节流 4. 缓冲流 5. 转换流处理流
从上面的图中可以看出Java IO 中的字节流是极其对称的。“存在及合理”我们看看这些字节流中不太对称的几个类吧! LineNumberInputStream 主要完成从流中读取数据时,会得到相应的行号,至于什么时候分行、在哪里...
java IO流学习笔记——(3)字节缓冲流&字符缓冲流&转换流&数据流 目录java IO流学习笔记——(3)字节缓冲流&字符缓冲流&转换流&数据流字节缓冲流 —BufferedInputStream&BufferedOutputStream字符缓冲流—...
Java文件流知识点梳理总结,IO文件流,包含了File类、缓冲流、字节流、字符流、转换流等
字节流与字符流的练习文档,内附一个简要的记事本综合文档。
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
课程内容主要有:File类概述、File类功能讲解、JAVA IO流概述、字节流、字符流、缓冲流、InputStream、OutputStream、Reader、Writer、FileInputStream、FileOutputStream、InputStreamReader、OutputStreamWriter、...
今天带来的是JAVA的IO流中的字符流,Reader和Writer子类流的用法。 基础概念 流是一种抽象概念,它代表了数据的无结构化传递。按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列。从流中取得数据的操作...
IO流按照流向分类可分为输入和输出,按照文件操作处理单元分类可分为字节流和字符流。 FileInputStream 文件操作输入字节流 FileOutputStream 文件操作输出字节流 FileReader 文件操作输入字符流 FileWriter 文件...
按照操作单元划分,可以划分为字节流和字符流; 按照流的角色划分为节点流和处理流。 流的原理浅析: java Io流共涉及40多个类,这些类看上去很杂乱,但实际上很有规则,而且彼此之间存在非常紧密的联系, Java Io流...
今天带来的是JAVA的IO流中的字节流,InputStream和OutputStram子类流的用法。 基础概念 流是一种抽象概念,它代表了数据的无结构化传递。按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列。从流中取得...
本文主要介绍了java的IO流中的缓冲流的使用,缓冲流分为字节和字符缓冲流。分享了有关它们的实例代码,具有一定的参考价值,下面跟着小编一起来看下吧
另外,Java还提供了一些高级的流类,如缓冲流、对象流、数据流等,它们在底层字节流和字符流的基础上提供了更多的功能和便利。 除了基本的文件和网络I/O之外,Java的NIO(New I/O)技术也是I/O流领域的重要发展。...
a) 字符b)字节c)字节数组D)对象 4. 下列流中哪一个使用了缓冲区技术A A.BuffereOutputStream B. FileInputStream C. DataOutputStream D.FileReader 5.下列字节输入流中,哪一个不能够被实例化B A....
IO从大的方向上分为字节流和字符流,包括四个抽象类: 1、输入:Reader, InputStream类型的子类(字符,字节) 2、输出:Writer, OutputStream类型的子类(字符,字节) 决定使用哪个类以及它的构造进程的一般...