5-6基本输出类型,万能输入流,输入输出流

万能工具类_导出excel_支持各个版本的导出 立即下载

基本数据类型流

可以读写基本数据类型
1.数据输入流:DateInputStream
DateInputStream(InputStream in)
2.数据输入流:DateOutputSteam
DateOutputStream(OutputStream out)

特点:

  1. 该流是一个字节流,可以读写字节的同事,还能够读写基本数据类型
  2. 通过数据类型输出流写入到文件中,使用文本文件打开是不能阅读,
  3. 读的时候必须和写的顺序保持一致,提高了基本数据类型在文件中保存的安全性

举个例子:

package LXT;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;

public class lxt1 {
	public static void main(String[] args) throws Exception {
		copy2("dos,txt", "copy.txt");
		copy3("dos.txt", "copy,txt");
	}
	
	
	private static void copy3(String srcFileName,String descFileName) throws Exception {
		BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFileName));
		BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(descFileName));
		
		
		int len = 0;
		byte[] bys = new byte[1024];
		
		while ((len = bis.read(bys)) != -1) {
			bos.write(bys,0,len);
			
		}
	}
	
	private static void copy2(String srcFileName,String descFileName) throws Exception {
		BufferedReader br = new BufferedReader(new FileReader(srcFileName));
		BufferedWriter bw = new BufferedWriter(new FileWriter(descFileName));	
	
	int len = 0;
	char[] chs = new char[1024];
	
	while ((len = br.read(chs)) != -1) {
		bw.write(chs,0,len);
		bw.flush();
	}
  }
}

万能输入流

/*
 * PrintWriter PrintStream
	概述:向文本输出流打印对象的格式化表示形式。此类实现在 PrintStream 中的所有 print 方法。
	特点:
	只能写数据,不能读取数据。
	可以操作任意类型的数据。
	如果启动了自动刷新,能够自动刷新。
	如果启用了自动刷新,则只有在调用 println、printf 或 format 的其中一个方法时才可能完成此操作
	
	代码演示打印流复制文件内容

 */
public class IODemo02 {
	public static void main(String[] args) throws Exception {
//		PrintWriter pw = new PrintWriter("pw.txt");
		PrintWriter pw = new PrintWriter(new FileWriter("pw.txt"), true);
		pw.write("abc");
		
		pw.print(2.5);
		
		pw.println("我换行了");
		pw.print("efg");
//		pw.flush();
//		pw.close();
	}
}

/*
 * 1、模拟记录用户登录日志(采用追加方式记录),
	从控制台接收用户输入的用户名和密码,在文件中记录用户名和密码以及登录时间。
	格式如下: 
		name=zhangsan
		pwd=123456
		时间=2014-06-05 18:22:33
 */
public class Practice07 {
	public static void main(String[] args) throws IOException {
		Scanner input = new Scanner(System.in);
		System.out.println("请输入用户名:");
		String userName = input.next();
		System.out.println("请输入密码:");
		String password = input.next();
		System.out.println("是否登录?(Y/N)");
		String yesOrNo = input.next();
		
		if ("Y".equals(yesOrNo)) {
			Date date = new Date();
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
			String dateStr = sdf.format(date);
			
			PrintWriter pw = new PrintWriter(new FileWriter("userInfo.txt"), true);
			pw.println("name=" + userName);
			pw.println("pwd=" + password);
			pw.print("时间=" + dateStr);
			
			pw.close();
			System.out.println("登录成功");
		} else {
			System.out.println("登录失败");
		}
		
	}
}

输入输出流

/*
 * System类中的静态变量:in,out 。
	“标准”输入流:static InputStream in 。
	“标准”输出流:static PrintStream out 。 
	它们各代表了系统标准的输入和输出设备。
	默认输入设备是键盘,输出设备是显示器。
 */
public class IODemo03 {
	public static void main(String[] args) throws IOException {
//		InputStream in = System.in;
//		
//		int b = in.read();
//		
//		System.out.println(b);
		
		PrintStream ps = System.out;
		ps.println("Hello");
		ps.println("World");
		
		System.out.println("HeloWorld");
	}
}

/*
 * 请自己使用IO流编模拟Scanner键盘录入对象
 */
public class IODemo04 {
	public static void main(String[] args) throws IOException {
//		InputStream is = System.in;
//		
//		System.out.println("请输入一个字节:");
//		int b = 0;
//		b = is.read(); // 这个read()方法是一个阻塞方法,会阻塞main方法,等待用户输入
//		System.out.println((char)b);
//		
//		b = is.read(); // 这个read()方法是一个阻塞方法,会阻塞main方法,等待用户输入
//		System.out.println((char)b);
		
//		Scanner input = new Scanner(System.in);
//		System.out.println("请输入字符串:");
//		String line = input.next();
//		System.out.println(line);
//		System.out.println("请输入小数:");
//		double d = input.nextDouble();
//		System.out.println(d);
		
		MyScanner input = new MyScanner(System.in);
		System.out.println("请输入一个字符串:");
		String line = input.next();
		System.out.println(line);
		
		System.out.println("请输入一个小数");
		double d = input.nextDouble();
		System.out.println("您输入的小数是:" + d);
		
	}
}

class MyScanner{
	private InputStream is; // System.in
	private BufferedReader br;
	
	public MyScanner() {}
	
	public MyScanner(InputStream is) {
		this.is = is;
	}
	
	public String next() throws IOException {
		return read();
	}

	public double nextDouble() throws IOException {
		double d = 0.0;
		try {
			d = Double.parseDouble(read());
		} catch (NumberFormatException nfe) {
			throw new InputMismatchException("哥们,你这要输入小数啊!!!一看你就不严谨!!!");
		}
		
		return d;
	}
	
	public String read() throws IOException {
		InputStreamReader isr = new InputStreamReader(is);
		String line = null;
		br = new BufferedReader(isr);
		line = br.readLine();
		return line;
	}
}
告别迷茫!新手如何从RTKLIB命令行程序入手,快速理解GNSS解算全流程 本文为GNSS新手提供RTKLIB命令行程序实战指南,重点介绍如何通过`rnx2rtkp`后处理解算工具快速掌握GNSS解算全流程。从环境搭建、程序编译到核心算法解析,帮助读者理解RTKLIB源码结构,并通过真实数据处理案例演示完整解算过程,是入门GNSS定位技术的实用教程。 阅读详情

相关推荐

从SSD到UFS:3分钟搞懂存储技术进化史(含最新协议对比)

本文梳理了从SSD到UFS的存储技术演进历程,重点解析了eMMC与UFS在架构上的核心差异。UFS凭借高速串行全双工接口,实现了性能与能效的飞跃。文章还对比了最新的UFS 4.0与PCIe 5.0 SSD协议,并探讨了3D NAND、SLC缓存等底层技术,揭示了移动与PC存储技术融合的未来趋势。

weixin_29294597的博客 279

输入输出流及其17个类(一)

另一方面,程序在处理数据后,可能需要将处理的结果写入到永久的存储媒介中或传送给其他的应用程序,这就需要使用输出流。程序在运行期间,可能需要从外部的存储媒介或其他程序中读入所需要的数据,这就需要使用输入流。虽然I/O流经常与磁盘文件存取有关,但是源和目的地也可以是键盘、内存或显示器窗口。返回文件的长度,单位为字节, 如果文件不存在,则返回 0L。返回此对象表示的文件的相对路径名。返回此对象表示的文件的绝对路径名。返回此对象表示的文件或目录的名称。创建名称的空文件,不创建文件夹。删除此对象指定的文件或目录。..

qq_51810428的博客 1553

关于Arduino中的常用函数

一、I/O函数 二、时间函数 三、数学函数 abs 返回其参数的无符号值 【abs(12)返回12,abs(-12)也返回12】 constrain 限制一个数字以阻止它超出范围。第一个参数是被限制的数字,第二个参数是范围区间的开始,第三个参数是允许的数字范围区间的结尾。 【constrain(8,1,10)返回8,constrain(11,1,10)返回10,constrain(0,1,10)返回1】 map 将一个范围内的数字映射到另一个范围。第一个参数是要映射到数字,第二个和第三个参数是from范围(

TREE的博客 7323

几种常见数据输入流InpuStream、FileInputStream、BufferedInputStream、InputStreamReader、FileReader,Bufferedreader

InputStream/OutputStream,是所有字节输入/输出流的抽象基类。 1.1 InputStream也是标准输入流,通常该流对应于键盘输入或由主机环境或用户指定的另一个输入源。 PrintStream是标准输出流: PrintStream ps = System.out; ps.print("...");//即System.out.print() ps.println("...

timon777的博客 1897

内网Linux服务器离线安装python包

3、将下载的依赖包和requirements.txt 拷贝到内网主机,依赖包和requirements.txt放同一级目录,进入该目录,运行指令。其实还有个更加方便的办法,联网主机装个与内网主机一样环境的虚拟机,在虚拟机中下载py包,拷贝到内网主机后就能直接安装了,省去手动下载py包的步骤。简单记录下最近遇到的一个小问题,内网主机没有内网源,处于无互联网状态,安装python包只能通过联网主机下载好后拷贝到内网主机。由于内网主机安装了多个版本的python,为了防止搞错,使用这种方式来调用pip安装。

cyc头发还挺多的博客 651

(秋招)vins中的光流法

那么下一层基于这个初值也会得到一个解,就这样进行迭代,直到达到金字塔的最底层,也即第0层,就是原始分辨率的那张图片,此时光流法就会给出一个速度值,这个值是比较可靠的(相比对原始图片直接使用光流法来说)。2.小运动,这个也必须满足,就是时间的变化不会引起位置的剧烈变化,这样灰度才能对位置求偏导(换句话说,小运动情况下我们才能用前后帧之间单位位置变化引起的灰度变化去近似灰度对位置的偏导数),这也是光流法不可或缺的假定。可以看到光流法是来估计物体运动的(估计的是物体运动的速度,根据速度再计算相对应的特征点)。

努力coding 651

I/O部分学习笔记

网络程序的很大一部分是简单的输入输出,即从一个系统向另一个系统移动字节。字节就是字节,在很大程度上,读服务器发送的数据与读取文件没什么不同;向客户传送数据与写入一个文件也没有什么区别。       Java中输入和输出组织不同于大多数其他语言。它是建立在流(stream)上。不同的基本流类(如java.io.FileInputStream和sun.net.TelnetOutputStream)

915

用Python和NumPy搞定复合材料层合板ABD矩阵计算(附完整代码与避坑指南)

本文详细介绍了如何使用Python和NumPy高效计算复合材料层合板的ABD刚度矩阵,包括单层板刚度计算、偏轴转换和层合板刚度集成。通过完整的代码示例和工程实践技巧,帮助工程师快速构建定制化分析工具,解决航空航天、汽车制造等领域的复合材料力学性能分析问题。特别提供了避坑指南和性能优化策略,确保计算结果的准确性和效率。

weixin_30752699的博客 278

java中基本输入输出流的解释

网络程序的很大一部分是简单的输入输出,即从一个系统向另一个系统移动字节。字节就是字节,在很大程度上,读服务器发送的数据与读取文件没什么不同;向客户传送数据与写入一个文件也没有什么区别。Java中输入和输出组织不同于大多数其他语言...

coxf45246896的博客 321

因素空间与可拓学的互补性分析及问题处理融合模型

随着知识与信息数量的快速增长以及信息获取便利性的增加,企事业组织所面临的内外部环境更加复杂,业务问题呈现非线性、不确定性、多维化和实时交互性等特点。业务环境的高度不确定性和面临问题的开放性,人工智能与问题处理的深入研究迫切需要有一种自觉地为信息科学与智能科学服务的定性定量相结合的智能数学模型。经典数学适于描述物质世界的数量与空间关系,智能数学必须能描述信息拓展与智能机理。

weixin_70923796的博客 261

MSBlock赋能C2f模块,让目标检测在轻量化与精度间双向突破

在文件夹下新建,将上述MSBlock和C2f_MS类的代码写入其中。这一步是为了让YOLOv8的代码架构能识别我们的自定义模块。

LXY_LOVE36的博客 143

Java学习笔记之--------IO流之基本数据类型处理流

基本数据类型处理流(提供了可以获取所有Java数据类型的方法+String): 输入流:DataInputStream 输出流:DataOutputStream 下面为实现文件读取的Demo: public class DataDemo02 { public static void main(String[] args) throws IOException { ...

wangruoao的博客 417

如何对TBSS的结果进行统计学的分析,已完成置换检验,如何在最终的TBSS输出结果提取除具体值及如何做进一步相关性分析??

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 1439

输入输出流概念

节点流直接从数据源或目的地读写数据,而处理流不直接到数据源或目的地,而是“连接”在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更为强大的读写功能。(3)int read( char[ ] cbuf,int off,int len),从输入流中最多读取len个字符的数据,并将其存储在字符数组cbuf中,返回实际读取的字符数。(2)int read(byte[ ] b),从输入流中将最多b.length个字节的数据读入一个byte数组中,以整数形式返回实际读取的字节数。

WeiYan_2022的博客 443

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

关于FileReader和FileWrite字符输入输出流

关于FileReader文件字符输入流,FileWrite文件字符输出流: 只能读写普通文本,专门为纯文本设计的一个输入流输出流,读写文本方便快捷。 先复习一下文件字节输入输出流: FileInputStream 和 FileOutputStream叫文件字节输入输出流, 属于万能流,什么文件都能读写。 读写过程中读写的是字节,使用byte[]数组存储字节码。 而FileReader和FileWrite只能读写纯文本文件,像txt文件,连word文件都不能读写。 读写过程中使用char[]数组。 下面练习一

pipizhen_的博客 990

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

输入输出流和一些方法的学习。

输入输出流的学习。 流分为两种,并不是说分为输入和输出这两种。而是类型是一种是字节流(万能的流),还有一种是字符流(比较局限,局限到甚至只能用txt格式的文件。)说的io流大致就是input流和output流。 区别就是:字节流读取单位为:一个字节(1 byte); 字符流是:一个字符(1 char相当于2 byte)。 流的作用,个人理解就是为了更好的传输数据(毕竟在现在传输的东西需求很多,比如各种网盘之类用来传输的文件。) 写一个字节输入流:我这里是输出文件内容(输入流可以把数据显示在屏幕上)。(当然还

m0_67197234的博客 340

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Java IO流,文件字节输入流,字节输出流,读、写操作以及文件copy复制(边读边写)

文件字节输入输出流演示,及文件copy复制演示Java IO流,文件字节输入流,字节输出流,读、写操作以及文件copy(边读边写)java.io.FileInputStream (万能的)FileInputStream演示java.io.FileOutputStream (万能的)FileOutputStream演示文件copy(边读边写)Copy演示 Java IO流,文件字节输入流,字节输出流...

CN_Orange_的博客 1565

一文搞定Java的输入输出流等常见流

f

轻松玩编程 2377

Java输入输出流

Java I/O 流是用于实现程序与数据源(文件、网络、内存等)之间数据传输的核心机制,基于流的方向和处理数据类型可分为四大基础类型,同时提供字节流、字符流两套核心 API。◦ 字节流:以字节(8bit)为单位处理数据,可操作任意类型文件(文本、图片、视频等),是所有流的基础。◦ 输出流:将程序数据写入数据源,顶层父类为 OutputStream(字节)、Writer(字符)。◦ 字符流:以字符(16bit)为单位处理数据,专为文本文件设计,可避免中文等字符的乱码问题。// 写入缓冲区数据。

Wang15302191715的博客 391

IO流---FileReader文件字符输入流和FileWriter文件字符输出流

文章目录前言一、FileReader文件字符输入流1.FileReader类中方法:二、FileWriter文件字符输出流1.FileWriter类中方法:三、普通文本文件复制(.txt 实例)总结 前言 IO流---FileReader文件字符输入流和FileWriter文件字符输出流 字符流只能读取纯文本文件:.txt文件 一、FileReader文件字符输入流 1.FileReader类中方法: int read():返回文件中读取到的字符"本身"。 int read(char[] chars)

qq_44705164的博客 261

初识JAVA输入输出流

一、流的概述 我们知道存在硬盘中数据是永久保存的,而在内存中的数据只是临时的。内存中的数据可以存入硬盘中,硬盘中的数据也也可以读入内存中。我们把这种数据的传输,可以看做一种数据的流动。通过IO流可以完成硬盘文件的读和写! 按照流动的方向,以内存为参考,分为: 输入流(input):流向内存是输入流,从别的地方(文件、键盘、网络、内存等)读取数据到当前程序中。输出流(output):流出内存是输出流,从程序把数据写/输出到文件、屏幕(控制台)、网络、内存等中。 输入也叫做(Read)读取数据,输出.

weixin_43486332的博客 361

输入输出流

字符流:一个字符一个字符的读取数据,java采用的是Unicode编码,一个字符占两个字节(所以一次读取16位),这种流是为了方便读取普通文本文件(txt)而存在的,不能读取word、图片、音频、视频等。字节流:一个字节一个字节的读取数据(一个字节是8位),这种流是万能的,什么类型的文件都能读取,包括文本文件、图片、声音文件、视频文件等等。数据流是java语言抽象出来的一个比较形象的东西,所有的读取操作都是以流的形式实现的。Reader、Writer:字符流的超类,为抽象类,我们用的都是他们的子类。

卷不动的程序员 731

IO流01_字节输入输出流

字节流

桌林夕 140

I/O操作【输入输出流】

输入与输出操作时所有程序都必须具备的功能,特别是输出。在算法的概念中,就有:一个算法至少要有一个输出。特征:1、所有的输入与输出操作 在性能上一定是瓶颈;因为它不再是内存中的操作了,而是把内存中的数据输出出去或输入进来,此时就一定会有时间上的损耗;2.、输入输出的操作环境具有复杂性。输入包括:键盘/鼠标/扫描仪输入...硬件环境的差异性;就算是同样的硬件也具有平台差异性。比如输出,同样是屏幕输出,也分控制台输出,图形化输出...

BroRiver 293

Java文件上传下载删除文件输入输出流IO

目录 1 IO流概述和分类【理解】 2字节流写数据【应用】 3字节流写数据的三种方式【应用】 4字节流写数据的两个小问题【应用】 5字节流写数据加异常处理【应用】 6字节流读数据(一次读一个字节数据)【应用】 7字节流复制文本文件【应用】 8字节流读数据(一次读一个字节数组数据)【应用】 9字节流复制图片【应用】 1 IO流概述和分类【理解】 IO流介绍 IO:输入/输出(Input/Output) 流:是一种抽象概念,是对数据传输的总称。也就是说数据在设备间...

赵广陆 1176

IO流输入输出流入门

IO流输入输出流入门

m0_65731386的博客 258
上一篇: 5-5 IO流的引入,本质,分类,三要素。字节输出流....
下一篇: 5-7 反射获取字节码的三种方式,反射获取构造方法并且创建对象,通过反射获取成员变量对象
xiaobinbins
博客等级 码龄8年 5粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值