IO流文件读取,写入;复制操作
IO流文件读取
-
一次性读一个字节
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(); } } } -
一次性读五个字节;通过创建存储空间;做缓存流
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(); } } }
-
写入字符流
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(); }*/ } } - 复制文本操作
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(); }*/ } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?