IO流文件读取,写入;复制操作

IO流文件读取
  1. 一次性读一个字节

    package com.IO;
    import java.io.*;
    import static java.io.File.separator;
    public class FileIO {
    public static void main(String[] args) {
    //对这个文件创建对象,导入数据包
    File file = new File("d:"+ separator +"IDEA/Test.txt");
    try {
    //创建数据流FileReader,写入文件对象
    FileReader reader = new FileReader(file);
    int i =0 ;
    //如果未读到-1;则一直读
    while ((i=reader.read())!=-1){
    //将读取的值转成char
    System.out.println((char) i);
    }
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }
  2. 一次性读五个字节;通过创建存储空间;做缓存流

package com.IO;
import java.io.*;
import static java.io.File.separator;
public class FileIO {
public static void main(String[] args) {
//对这个文件创建对象,导入数据包
File file = new File("d:"+ separator +"IDEA/Test.txt");
try {
//创建数据流FileReader,写入文件对象
FileReader reader = new FileReader(file);
int i =0 ;
//如果未读到-1;则一直读
while ((i=reader.read())!=-1){
//将读取的值转成char
System.out.println((char) i);
}
//一定一定要关闭数据流
reader.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
  1. 写入字符流

    package com.IO;
    import java.io.File;
    import java.io.FileWriter;
    import java.io.IOException;
    import static java.io.File.separator;
    public class DemoRead {
    public static void main(String[] args) {
    File file = new File("d:"+ separator +"IDEA/Demo.txt");
    try {
    //创建写入对象,传入写入目录
    FileWriter fileWriter = new FileWriter(file);
    String s = "你好,再见";
    //将字符传封装成对象,传入容器中
    //通过char做写入缓存000
    char[] chars = s.toCharArray();
    //将包装好的chars对象传入到写的方法中
    fileWriter.write(chars);
    //一定要关闭写入IO流;否则写入不成功
    fileWriter.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    /*try {
    FileReader fileRead = new FileReader(file);
    char []ch =new char[5];
    try {
    int i = fileRead.read(ch);
    while (i!=-1){
    String s = new String(ch,0,i);
    System.out.println(s);
    i = fileRead.read(ch);
    }
    fileRead.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    }*/
    }
    }
    1. 复制文本操作
    package com.IO;
    import java.io.*;
    public class Copy {
    public static void main(String[] args) {
    File file = new File("D://IDEA/Copy.txt");//这是复制的目标文件夹;如无此路径。则会自动创建
    File file1 = new File("D://IDEA/Demo.txt");
    //读取部分
    try {
    FileReader fileReader =new FileReader(file1);
    char []chars1 = new char[5];
    try {
    int i = fileReader.read(chars1);
    FileWriter fileWriter = new FileWriter(file);
    while (i!=-1){
    String s1 =new String(chars1,0,i);
    System.out.println(s1);
    //将读出来的东西S1写到另一个文件夹中
    i = fileReader.read();
    String s =s1;
    char []chars = s.toCharArray();
    fileWriter.write(chars);
    }
    fileWriter.close();
    fileReader.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    }
    /*这里的原本的写入操作
    try {
    FileWriter fileWriter = new FileWriter(file);
    String s =i;
    char []chars = s.toCharArray();
    fileWriter.write(chars);
    fileWriter.close();
    } catch (IOException e) {
    e.printStackTrace();
    }*/
    }
    }
posted @   爱豆技术部  阅读(73)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
TOP
点击右上角即可分享
微信分享提示