JAVA输入输出流和文件操作
- 格式:ppt
- 大小:1.01 MB
- 文档页数:39
成都大学实验报告实验项目名称Java的输入与输出流一、实验目的:1. 理解I/O流的概念,掌握其分类2. 掌握文本文件读写、二进制文件读写二、实验内容(包括源程序及相关说明):1. 分别使用FileWriter 和BufferedWriter 往文件中写入10万个随机数,比较用时。
源代码如下:(1)import java.io.*;public class Ex1_1 {public static void main(String[] args) throws IOException{long t=System.currentTimeMillis();FileWriter fw =new FileWriter("d:\\Ex1.txt");for(int i=1;i<=100000;i++){fw.write((int)(Math.random()*10000)+" \n");}fw.close();t=System.currentTimeMillis()-t;System.out.println("The elapsed: "+t);}}(2)import java.io.*;public class Ex1_1 {public static void main(String[] args) throws IOException{long t=System.currentTimeMillis();BufferedWriter fw=new BufferedWriter(new FileWriter("d:\\Ex1.txt"));for(int i=1;i<=100000;i++){fw.write((int)(Math.random()*10000)+"\n");}fw.close();t=System.currentTimeMillis()-t;System.out.println("The elapsed: "+t);}}2. 生成一个html文件,使其能显示2的幂次(0~9)的表格如下:代码如下:import java.io.*;public class Ex1_1 {public static void main(String[] args) throws IOException{BufferedWriter bw=new BufferedWriter(new FileWriter("d:\\Ex2.html"));bw.write("<table border=1 align=center width=200 height=250>");bw.newLine();bw.write("<tr><td align=center>Power of 2<td align=center>Value</tr>");for(int i=0;i<=9;i++){bw.write("<tr><td align=center>"+i+"<td align=center>"+Math.pow(i, 2)+"</tr>");}bw.write("</table>");bw.newLine();bw.close();}}3. 在文本文件bigbook.txt中包含有很长篇幅的英语短文,编写程序要求统计文件的所有短文中包含英文字母“A”的个数,并显示统计的时间。
java输入输出语句例子Java语言中的输入输出语句是开发者经常使用的重要命令之一。
在本文中,我们将通过几个例子来展示Java中如何使用输入输出语句。
1. 导入Java中的I/O库在使用Java中的输入输出语句之前,我们需要先导入Java中的I/O库。
通过这个库,我们可以轻松地从键盘读取输入、从文件中读取输入和将输出写入文件。
在Java中,我们通常使用java.io包中的类来处理输入输出任务。
为了导入这个包,我们只需要在Java程序的开头添加以下代码:```import java.io.*```2. 使用Java中的输入输出语句一旦我们导入了Java中的I/O库,我们就可以开始使用Java中的输入输出语句了。
以下是几个例子:- 读取键盘输入并将其打印出来```import java.io.*public class InputOutputExample{public static void main(String args[]) throws IOException{BufferedReader inp = new BufferedReader(new InputStreamReader(System.in));System.out.println("Enter your name: ");String name = inp.readLine();System.out.println("Hi " + name + ", nice to meet you!"); }}```在这个例子中,我们创建了一个BufferedReader对象,并使用它来读取来自键盘的输入。
我们使用System.in作为我们的输入源,并使用InputStreamReader将它们从字节流转换为字符流。
最后,我们使用BufferedReader的readLine()方法来读取用户输入。
java中io操作的作用
Java中的I/O(输入/输出)操作是用来处理数据输入和输出的
机制。
它的作用包括但不限于以下几个方面:
1. 数据读取和写入,I/O操作允许程序从外部数据源(如文件、网络连接、键盘输入等)读取数据,或将数据写入到外部目标中。
这使得程序能够与外部环境进行交互,处理和存储数据。
2. 文件操作,通过I/O操作,Java程序可以创建、打开、关闭、读取和写入文件。
这对于文件的读取、写入和管理提供了灵活
性和控制能力。
3. 网络通信,Java中的I/O操作还包括用于网络通信的功能,可以通过Socket等类实现与其他计算机或服务器的连接,进行数据
传输和通信。
4. 数据流处理,I/O操作还可以用于处理数据流,包括对数据
进行过滤、转换和处理,例如通过缓冲流、对象流等对数据进行高
效处理。
5. 设备交互,Java的I/O操作还可用于与设备进行交互,例如读取传感器数据、控制硬件等。
总的来说,Java中的I/O操作是用来处理数据输入和输出的重要机制,它为程序提供了与外部环境交互、文件操作、网络通信、数据流处理和设备交互等功能,是Java编程中不可或缺的部分。
Java⾃学第10期——File类与IO流(输⼊输出流、处理流、转换流、缓冲流、Prope。
1、IO简介IO(输⼊输出)通过java.io包下的类和接⼝来⽀持,包下包括输⼊、输出两种IO流,每种输⼊输出流⼜可分为字符流和字节流两⼤类。
2、File类File类是io包下与平台⽆关的⽂件和⽬录,File能新建、删除、重命名⽂件和⽬录,不能访问⽂件本⾝,后者需要使⽤输⼊输⼊流。
2.1 构造⽅法File类的构造⽅法:File(File parent, String child) 参数:⽗路径,⼦路径根据 parent 抽象路径名和 child 路径名字符串创建⼀个新 File 实例。
File(String pathname)通过将给定路径名字符串转换为抽象路径名来创建⼀个新 File 实例。
File(String parent, String child)根据 parent 路径名字符串和 child 路径名字符串创建⼀个新 File 实例。
File(URI uri)通过将给定的 file: URI 转换为⼀个抽象路径名来创建⼀个新的 File 实例。
2.2 静态⽅法File类静态⽅法:static String pathSeparator()与系统有关的路径分隔符,为了⽅便,它被表⽰为⼀个字符串。
static char pathSeparatorChar()与系统有关的路径分隔符。
static String separator()与系统有关的默认名称分隔符,为了⽅便,它被表⽰为⼀个字符串。
static char separatorChar()与系统有关的默认名称分隔符。
2.3 常⽤⽅法:2.3.1 获取相关public String getAbsolutePath()返回此File的绝对路径名字符串。
public String getPath()将此File转换为路径名字符串。
public String getName()返回由此File表⽰的⽂件或⽬录的名称。
实验5 流式输入输出与文件处理1 实验目的(1) 掌握字节流和字符流的特点和处理差异;(2) 掌握过滤流的使用;(3) 掌握File类的使用;(4) 掌握随机文件的使用。
(5) 掌握对象系列化的概念以及访问文件时对象读写方法。
2 知识要点2.1 面向字节的输入/输出流(1)类InputStream是面向字节的输入流的根。
其主要方法见表13-1。
表13-1 类InputStream的方法(2)数据过滤流DataInputStream该流实现DataInput接口,主要方法有:readByte(),readBoolean()、readShort()、readChar()、readInt() 、readLong()、readFloat()、readDouble()、readUTF()等。
(3)类OutputStream是面向字节输出流的根,其主要方法有:●void write(int b) :将参数b的低字节写入输出流●void write(byte b[]) :将字节数组全部写入输出流●void write(byte b[],int offset, int len):将字节数组中从b[offset]开始处的len个字节写入至输出流。
(4)类DataOutputStream实现各种类型数据的输出处理,它实现了DataOutput接口,主要方法有:writeByte(int)、writeBytes(String)、writeBoolean(boolean)、writeChars(String)、writeInt(int) 、writeLong()、writeFloat(float)、writeDouble(double)、writeUTF(String)等。
2.2 面向字符的输入与输出流类Reader是面向字符的输入流的根,其提供的方法与InputStream类似,只是将基于Byte的参数改为基于Char。
java io流详解Java IO流是Java中的一个重要概念,它被用于文件的输入和输出,网络数据传输等方面。
本文将详细介绍Java IO流的使用以及其相关的知识点,让大家能够更好地了解并使用该重要技术。
一、流概述流是Java中非常重要的一个概念。
流实际上是一种在程序和存储设备之间传输信息的方式。
Java中的流是基于输入/输出(I/O)操作的,使用Java IO流,程序就可以从文件或网络中读取信息,也可以将信息写入到文件或网络中。
二、Java IO流分类Java IO流分为两类:字节流和字符流:1. 字节流是以字节(Int流)为单位传输数据,它适合传输二进制文件(如图片、音乐)等数据。
2. 字符流是以字符为单位传输数据,它适合传输文本文件等数据。
字节流又分为输入字节流和输出字节流,字符流又分为输入字符流和输出字符流。
三、Java IO流的基本操作1. 数据的输入:使用Java IO流读取文件的数据,可以使用FileInputStream类。
使用Java io输入流的步骤具体如下:① 创建输入流对象,即FileInputStream类。
② 读取数据,即使用read()方法读取数据。
③ 关闭读取流,即使用close()方法。
2. 数据的输出:使用Java IO流将数据写入到文件中,可以使用FileOutputStream类。
使用Java io输出流的步骤具体如下:① 创建输出流对象,即FileOutputStream类。
② 写入数据,即使用write()方法将数据写入文件中。
③ 关闭输出流,即使用close()方法。
3. 文件的复制:使用Java IO流可以轻松实现文件的复制。
具体操作步骤如下:① 创建输入流对象,即FileInputStream类。
② 创建输出流对象,即FileOutputStream类。
③ 读取数据,即使用read()方法读取数据,并调用write()方法写入到输出流中。
④ 关闭输入流和输出流。
Java输⼊输出流(⼀)——常⽤的输⼊输出流1.流的概念:在Java中,流是从源到⽬的地的字节的有序序列。
Java中有两种基本的流——输⼊流(InputStream)和输出流(OutputStream)。
根据流相对于程序的另⼀个端点的不同,分为节点流和过滤流。
(1)节点流:以特定源如磁盘⽂件、内存某区域或者线程之间的管道为端点的构造输⼊输出流,是⼀种基本的流。
(2)过滤流:以其他已经存在的流为端点构造的输⼊输出流。
根据流中的数据单位分为字节流和字符流。
(1)字节流:流中的数据是以8位字节为单位进⾏读写,以InputStream和OutputStream为基础类。
(2)字符流:流中的数据是以16为字符为单位进⾏读写,以Reader和Writer为基础类。
2.字节流InputStream和OutputStream是字节流的两个顶层⽗类,提供了输⼊流类和输出流类的通⽤API。
2.1 输⼊字节流InputStream基本⽅法:(1)基本读⽅法;: int read() int read(byte[] b) int read(byte[] b,int off,int len)(2) 关闭流:void close()(3) 返回输⼊流中还有多少可读字节 int available()(4) 跳过指定字节 long skip(long n)(5) 回读数据 boolean markSupported() void Mark(int readlimt) void reset()2.2 输出字符流OutputStream基本⽅法:(1)基本写⽅法:void write(int c) void write(byte[] b) void write(byte[] b,int off,int len)(2) 关闭流:void close()(3)q强制输出:void flush()3.字符流:Reader和Writer是字符流的顶层⽗类,字符流能够处理Unicode字符集中的所有字符。
Java InputStream和OutputStream,Reader和Writer的辨析对Java 的文件操作中的一些概念做了个总结,资料收集+自己理解。
文本文件I/O:概念辨析:File 类:File 类中提供了文件的创建、目录的创建、删除、文件列表、获取文件有关信息等操作,不涉及文件内容的读和写,读与写的操作要靠write() 和read() 方法。
Writer 和Reader:Writer 和Reader 用于字符流的写入和读取,也就是说写入和读取的单位是字符,如果读与写的操作不涉及字符,那么是不需要Writer 和Reader 的。
Writer 类(抽象类),子类必须实现的方法仅有write()、flush()、close()。
继承了此类的类是用于写操作的“Writer”。
Reader 类(抽象类),子类必须实现的方法仅有read()、close()。
继承了此类的类是用于读操作的“Reader”write()方法和read()方法:write()方法是将数据写入到文件(广义概念,包括字节流什么的)中。
read()方法是将文件(广义概念,包括字节流什么的)中的数据读出到缓冲目标上。
InputStream和OutputStream:InputStream:此抽象类是表示字节输入流的所有类的超类。
字节输入流相当于是一个将要输入目标文件的“流”。
InputStream有read() 方法而没有write()方法,因为它本身代表将要输入目的文件的一个“流”OutputStream:此抽象类是表示输出字节流的所有类的超类。
输出流接受输出字节并将这些字节发送到某个接收器。
是从文件中将要输出到某个目标的“流”。
OutputStream有write()方法而没有read()方法。
InputStreamReader和OutputStreamWriter:InputStreamReader是字节流通向字符流的桥梁:它使用指定的charset 读取字节并将其解码为字符。
java inputstream 和 outputstream使用方法Java中的InputStream和OutputStream是用于处理字节流的抽象类。
它们是Java IO库中非常重要的部分,用于读取和写入数据。
InputStream的使用方法:1. 创建一个InputStream对象,可以通过继承InputStream类或实现InputStream接口来创建子类或实现类。
2. 使用read()方法读取数据,该方法会返回一个字节数组。
可以多次调用read()方法来读取多个字节,直到所有数据都被读取完毕。
3. 使用close()方法关闭InputStream对象,释放相关资源。
下面是一个简单的示例代码,演示如何使用InputStream读取文件中的数据:```javaimport ;import ;public class InputStreamExample {public static void main(String[] args) {try {FileInputStream fis = new FileInputStream(""); byte[] buffer = new byte[1024];int bytesRead = (buffer);while (bytesRead != -1) {// 处理读取到的数据(new String(buffer, 0, bytesRead));bytesRead = (buffer);}();} catch (IOException e) {();}}}```OutputStream的使用方法:1. 创建一个OutputStream对象,可以通过继承OutputStream类或实现OutputStream接口来创建子类或实现类。
2. 使用write()方法写入数据,该方法需要一个字节数组作为参数。
可以多次调用write()方法来写入多个字节,直到所有数据都被写入完毕。