JAVA基础--IO

IO

什么是IO

任何事物提到分类都必须有一个分类的标准,例如人,按照肤色可分为:黄的,白的,黑的;按照性别可分为:男,女,人妖。IO流的常见分类标准是按照*流动方向**操作数据单位*来分的。

1.流动方法:输入 输出(以程序为基准

2.操作单位:字节(8bit-011b) 字符(ab)

Java中的IO流主要都派生至一下4大抽象流,[抽象流------->抽象类] : 都是java.io包中的,分为如下四种

字节流

InputStream

读文件代码示例

public class InputStreamTest {public static void main(String[] args){System.out.println("请用户输入想要读的文件的文件名");Scanner scanner=new Scanner(System.in);String s=scanner.nextLine();//获取用户输入的内容try {FileInputStream fileInputStream=new FileInputStream("D:\\feiqiu\\Test\\"+s);byte[] bytes=new byte[fileInputStream.available()];int b=0;int i=0;while ((b=fileInputStream.read(bytes))!=-1){
//            bytes[i]=(byte)b;//一个汉字为2~4个字节,此处直接取最
//            i++;
//            String str=new String(bytes);
//            System.out.println(str);
//            System.out.println((char)b);//会有中文乱码System.out.println(new String(bytes,0,b));}}catch (Exception e){e.printStackTrace();}}
}

OutputStream

写文件代码示例

public class OutPutStreamTest {public static void main(String[] args)  {//使用IO流写文件try{FileOutputStream fileOutputStream=new FileOutputStream("D:\\feiqiu\\Test\\test.txt",true);System.out.println("请用户输入要写入文件的内容");Scanner scanner=new Scanner(System.in);String s=scanner.nextLine();//获取用户输入的内容byte[] bytes=s.getBytes("utf-8");fileOutputStream.write(bytes);fileOutputStream.close();}catch (Exception e){e.printStackTrace();}}
}

字符流

FileReader

读文件示例

public class FileReaderTest {public static void main(String[] args) {try {Reader reader=new FileReader("D:\\feiqiu\\Test\\test.txt");int i;char[] c=new char[1024];while ((i=reader.read(c))!=-1){System.out.println(new String(c,0,i));}}catch (IOException e){e.printStackTrace();}}
}

FileWriter

写文件示例

public class FileWriterTest {public static void main(String[] args) {try {FileWriter writer= new FileWriter("D:\\feiqiu\\Test\\123.txt",true);System.out.println("请用户输入要写入的内容");Scanner scanner=new Scanner(System.in);String s=scanner.nextLine();writer.write(s);//直接写入writer.close();//不关闭写不入}catch (Exception e){e.printStackTrace();}}
}

写在最后:IO在JAVA中十分重要,因为都是用流来操作数据,读写文件只是流的一个基本操作。笔者小,中,大厂均有面试经历,每日分享JAVA全栈知识,希望能够和大家共同进步。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/690679.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI办公自动化-用kimi批量重命名Word文档

文件夹里面有很多个word文档,标题里面都含有零代码编程,现在想将其替换为AI办公自动化。 在kimichat中输入提示词: 你是一个Python编程专家,要完成一个编写Python脚本的任务,具体步骤如下: 打开文件夹&am…

windows使用Docker-Desktop部署lobe-chat

文章目录 window安装docker-desktop下载和启动lobe-chatAI大语言模型的选择lobe-chat设置大模型连接 window安装docker-desktop docker-desktop下载地址 正常安装应用,然后启动应用,注意启动docker引擎 打开右上角的设置,进入Docker Engine设…

十、Redis内存回收策略和机制

1、Redis的内存回收 在Redis中可以设置key的过期时间,以期可以让Redis回收内存,循环使用。在Redis中有4个命令可以设置Key的过期时间。分别为 expire、pexpire、expireat、pexpireat。 1.1、expire expire key ttl:将key的过期时间设置为tt…

打开远程连接的命令是什么?

远程连接是一种能够在不同设备之间建立连接并共享信息的技术。在许多情况下,我们需要通过远程连接来访问其他设备或处理一些远程任务。本文将介绍一些常用的打开远程连接的命令。 使用SSH连接远程设备 SSH(Secure Shell)是一种安全的网络协议…

【IC前端虚拟项目】验证环境env与base_teat思路与编写

【IC前端虚拟项目】数据搬运指令处理模块前端实现虚拟项目说明-CSDN博客 上一篇里解决了最难搞的axi_ram_model,接下来呢就会简单又常规一些了,比如这一篇要说的env和base_test的搭建。在这里我用了gen_uvm_tb脚本: 【前端验证】验证自动化脚本的最后一块拼图补全——gen_t…

Spring编程使用DDD的小把戏

场景 现在流行充血领域层,在原本只存储对象的java类中,增加一些方法去替代原本写在service层的crud, 但是例如service这种一般都是托管给spring的,我们使用的ORM也都托管给spring,这样方便在service层调用mybatis的m…

【免费Java系列】大家好 ,今天是学习面向对象高级的第十二天点赞收藏关注,持续更新作品 !

这是java进阶课面向对象第一天的课程可以坐传送去学习http://t.csdnimg.cn/Lq3io day10-多线程 一、多线程常用方法 下面我们演示一下getName()、setName(String name)、currentThread()、sleep(long time)这些方法的使用效果。 public class MyThread extends Thread{publi…

力扣例题(用栈实现队列)

目录 链接. - 力扣(LeetCode) 描述 思路 push pop peek empty 代码 链接. - 力扣(LeetCode) 描述 思路 push 例如我们将10个元素放入栈中,假设最左边为栈顶,最右侧为栈底 则为10,9,8,7,6,5,4,3,…

stm32——OLED篇

技术笔记! 一、OLED显示屏介绍(了解) 1. OLED显示屏简介 二、OLED驱动原理(熟悉) 1. 驱动OLED驱动芯片的步骤 2. SSD1306工作时序 三、OLED驱动芯片简介(掌握) 1. 常用SSD1306指令 2. …

清理缓存简单功能实现

在程序开发中,经常会用到缓存,最常用的后端缓存技术有Redis、MongoDB、Memcache等。 而有时候我们希望能够手动清理缓存,点一下按钮就把当前Redis的缓存和前端缓存都清空。 功能非常简单,创建一个控制器类CacheController&#xf…

Docker搭建ctfd平台

安装docker和docker-compose (1)安装docker: curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun(2)安装 Docker Compose: yum install docker-compose安装失败参考下面文章 https:/…

小程序获取手机号,用户昵称,头像

一、手机号 在微信小程序中,获取用户手机号也需要用户的明确授权。你可以使用 button 组件的 open-type 属性设置为 getPhoneNumber 来实现这个功能。当用户点击这个按钮时,会弹出一个对话框请求用户的授权。如果用户同意,你可以在 bindgetp…