1.5.1 文件操作章 File

文件操作相关包

//包
import java.io.*; //这个是全部引完
import java.io.BufferedInputStream;
import java.io.FileInputStream;

字符流写出测试

public static void main(String[] args) {
        String[] str= {"春眠不觉晓,","处处闻啼鸟,","夜来风雨声,","花落知多少,"};
        File file=new File("src\\test.txt");//我们在该类的位置创建一个新文件
        FileWriter f=null;//创建文件写入对象
        BufferedWriter f1=null;//创建字符流写入对象
    
        try {
            //这里把文件写入对象和字符流写入对象分开写了
            f=new FileWriter(file);//创建一个名为cc.txt的文件
            //f=new FileWriter("src\\test.txt");//创建一个名为cc.txt的文件,操作同上
            f1=new BufferedWriter(f);
            
            //通过循环遍历上面的String 数组中的元素
            for (int i = 0; i < str.length(); i++) {
                f1.write(str[i]);//把String中的字符写入文件
                f1.newLine();//换行操作
                //f1.write('\n');//同为换行操作
                //f1.write("\t");//往文件写入一个tab键长度
                }
        }catch (Exception e) {
            // TODO: handle exception
        }finally {//如果没有catch 异常,程序最终会执行到这里
            try {
                f1.close();
                f.close();//关闭文件
            } catch (Exception e2) {
                // TODO: handle exception
            }
        }
    	
    }

字符流写入测试

public static void main(String[] args) {
    File file = new File("src\\cc.txt");
    FileReader f = null; //文件读取对象
    BufferedReader f1 = null; //字符流对象
    try {
        f = new FileReader(file);
        f1 = new BufferedReader(f);
        //循环打印cc文件中的每行数据
        String str = null;
        while ((str = f1.readLine()) != null) {
            System.out.println(str);
        }

    } catch (Exception e) {
        // TODO: handle exception
    } finally {
        try {
            f1.close();
            f.close();
        } catch (Exception e2) {
            // TODO: handle exception
        }
    }
}

字符流相关读入

File file = new File("src\\cc.txt");
FileReader f = null; //文件读取对象
BufferedReader f1 = null; //字符流对象

f = new FileReader(file);
f1 = new BufferedReader(f);  

//一次读一行
String str = null;
while ((str = f1.readLine()) != null) {
    System.out.println(str);
}

FileReader

//读取单个字符,返回一个int型变量代表读取到的字符
public int read() throws IOException
 
//读取字符到c数组,返回读取到字符的个数 
public int read(char [] c, int offset, int len)
读取字符到c数组,返回读取到字符的个数 
    
//一次读一个字符  
int len;
while ((len = fr1.read()) != -1) {
    System.out.print((char) len);
}

BufferedReader

//关闭流并释放与之相关联的任何系统资源。 	
void close()
    
//返回一个 Stream ,其元素是从这个 BufferedReader读取的行。
Stream<String> lines()  
 
//标记流中的当前位置。
void mark(int readAheadLimit) 
    
//告诉这个流是否支持mark()操作。      
boolean markSupported() 

//读一个字符    
int read() 

//将字符读入数组的一部分。
int read(char[] cbuf, int off, int len) 

//读一行文字。  
String readLine() 

//告诉这个流是否准备好被读取。
boolean ready() 

//将流重置为最近的标记。
void reset() 

//跳过字符   
long skip(long n) 
 


字符流写出相关

File file = new File("src\\test.txt"); //我们在该类的位置创建一个新文件
FileWriter f = null; //创建文件写入对象
BufferedWriter f1 = null; //创建字符流写入对象

f = new FileWriter(file); //创建一个名为cc.txt的文件
//f=new FileWriter("src\\test.txt");//创建一个名为cc.txt的文件,操作同上
f1 = new BufferedWriter(f);
    

FileWriter

//写入单个字符c。
public void write(int c) throws IOException

//写入字符数组中开始为offset长度为len的某一部分。  
public void write(char [] c, int offset, int len)
 
    
//写入字符串中开始为offset长度为len的某一部分。
public void write(String s, int offset, int len)

BufferedWriter

//关闭流,先刷新
void close() 

//刷新流
void flush()
    
//写一行换行分隔符。
void newLine() 
    
//写入字符数组的一部分。 
void write(char[] cbuf, int off, int len) 
    
//写一个字符串的一部分。
void write(String s, int off, int len)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_Ap0stoL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值