javaIO(二)
在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据时要使用输入流读取数据,而当程序需要将一些数据保存起来时,就要使用输出流。
在java.io包中流的操作主要有字节流、字符流两大类,两类都有输入和输出操作。
在字节流中输出数据主要使用OutputStream类完成,输入使用的是InputStream类。
在字符流中输出主要使用Writer类完成,输入主要使用Reader类完成。
1、字节输出流
1 import java.io.File; 2 import java.io.FileOutputStream; 3 import java.io.OutputStream; 4 5 public class FileDemo{ 6 public static void main(String[] args) throws Exception 7 { 8 String path="G:"+File.separator+"javaExercise"+File.separator+"test.txt"; 9 File f=new File(path); 10 11 OutputStream out=null; 12 out =new FileOutputStream(f); 13 String str="Hello World"; 14 byte b[]=str.getBytes(); 15 16 out.write(b); 17 out.close(); 18 } 19 }
2、字节输入流
1 import java.io.File; 2 import java.io.FileInputStream; 3 import java.io.InputStream; 4 5 public class FileDemo{ 6 public static void main(String[] args) throws Exception 7 { 8 String path="G:"+File.separator+"javaExercise"+File.separator+"test.txt"; 9 File f=new File(path); 10 11 InputStream input=null; 12 input =new FileInputStream(f); 13 14 byte b[]=new byte[1024]; 15 16 input.read(b); 17 18 System.out.println("内容为: "+new String(b)); 19 input.close(); 20 } 21 }
3、字符输出流
1 import java.io.File; 2 import java.io.FileWriter; 3 import java.io.Writer; 4 5 public class FileDemo{ 6 public static void main(String[] args) throws Exception 7 { 8 String path="G:"+File.separator+"javaExercise"+File.separator+"test1.txt"; 9 File f=new File(path); 10 Writer out=null; 11 out =new FileWriter(f); 12 String str="hello world"; 13 out.write(str); 14 out.close(); 15 } 16 }
整个程序与OutputStream的操作流程并没有太大区别,唯一的好处是,可以直接输出字符串,而不用将字符串变为byte数组后再输出。
4、字符输入流
1 import java.io.File; 2 import java.io.FileReader; 3 import java.io.Reader; 4 5 public class FileDemo{ 6 public static void main(String[] args) throws Exception 7 { 8 String path="G:"+File.separator+"javaExercise"+File.separator+"test1.txt"; 9 File f=new File(path); 10 Reader reader=null; 11 reader=new FileReader(f); 12 char c[]=new char[1024]; 13 int len=reader.read(c); 14 reader.close(); 15 System.out.println("内容为: "+new String(c,0,len)); 16 } 17 }
路漫漫其修远兮,吾将上下而求索
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· 不到万不得已,千万不要去外包
· C# WebAPI 插件热插拔(持续更新中)
· 会议真的有必要吗?我们产品开发9年了,但从来没开过会
· 如何打造一个高并发系统?
· 《SpringBoot》EasyExcel实现百万数据的导入导出