1.基本输入输出流类
在java.io包中,基本输入输出流类可按读写数据的不同分为两种:字节流和字符流
字节流:读写字节类型的数据(包括ASCII表中的字符)。字节流类可以分为表示输入流的InputStream类及其子类,表示输出流的OutputStream类及其子类。
字符流:读写Unicode字符。表示输入流的Reader类及其子类,表示输出流的Writer类及其子类。
2.文件的输入输出
Java语言的java.io包中的File类是专门用来管理磁盘文件和目录的。每个File类的对象表示一个磁盘文件或目录,其对象属性中包含了文件或目录的相关信息,如文件或目录的名称、文件的长度、目录中所含文件的个数等。调用File类的方法可以完成对文件或目录的常用管理操作,如创建文件或目录,删除文件或目录,查看文件的相关信息等。
FileInputStream类用于读取文件中的字节数据的字节文件输入流类;
FileOutputStream类用于向文件写入字节数据的字节文件输出流类;
FileReader类和FileWriter类用于读取文件和向文件写入字符数据。
3.练习:使用字节流和缓冲流读取一个100M的文件,测试两者的区别.
缓冲流:
package IO流;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class BufferedReader {
/**
* @param args
*/
public static void main(String[] args) {
BufferedReader br=new BufferedReader();
br.bufferedTest("pictures/1.jpg","pictures/1.bak");
}
private void bufferedTest(String path,String newpath) {
//实例化一个FileInputStream和BufferedInputStream类的对象
try {
FileInputStream fis = new FileInputStream(path);
BufferedInputStream bis=new BufferedInputStream(fis);
FileOutputStream fos = new FileOutputStream(newpath);
BufferedOutputStream bos = new BufferedOutputStream(fos);
//获取文件字节的总数
int length = bis.available();
//根据总数定义一个byte数组
byte [] array = new byte[length];
bis.read(array);
bos.write(array);
bos.flush();
System.out.print(new String(array));
//关闭流
bis.close();
fis.close();
bos.close();
fos.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
}
}
字节流:
package IO流;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileReader {
/**
* @param args
*/
public static void main(String[] args) {
FileReader fr=new FileReader();
fr.fileTest("pictures/1.jpg","pictures/1.bak");
}
/**
* file流的测试类
* @param path路径
*/
public void fileTest(String path,String newPath){
try {
//实例化一个FileInputStream类的对象
FileInputStream fis = new FileInputStream(path);
FileOutputStream fos = new FileOutputStream(newPath);
//获取文件字节的总数
int length = fis.available();
//根据总数定义一个byte数组
byte [] array = new byte[length];
fis.read(array);
fos.write(array);
System.out.print(new String(array));
//关闭流
fis.close();
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
C++语言的输入与输出.ppt
C各种常用数据类型数据的输入与输出.c......
本文将深入探讨SHELL中的输入与输出概念及其用法,这对于初学者来说是非常重要的基础知识。 1. 标准输入(stdin): 标准输入通常是键盘,但也可以重定向到其他数据源。在Shell脚本中,`符号用于重定向输入。例如...
这一章节将详细介绍C++语言中的输入与输出,包括基本概念、流对象、输入输出函数、缓冲区等内容。 一、输入与输出的概念 输入和输出是计算机程序中两个基本概念。输入是指从标准输入设备上输入数据到计算机内存,...
shell提供了重定向和管道的概念,使得输入输出的灵活性大大增强。 - **重定向**允许改变命令的输入源或输出目标,例如将文件内容作为命令的输入,或将命令的输出保存到文件中。 - `从文件读取输入。 - `>`:覆盖...
无格式输入输出基于C++类库的输入输出,使用两个流对象cin和cout,以及与之相配套的两个输入输出运算符“>>”和“”。格式化输入输出可以使用ios类中的有关格式控制的成员函数或使用操作符的特殊类型函数进行格式...
工业大数据分析-HIVE输入与输出教学课件 工业大数据分析是指通过对工业数据的收集、存储、处理和分析,获取有价值的信息和知识,以支持工业生产和决策的过程。工业大数据分析通常涉及到大量的数据处理和分析,需要...
"ChatGPT技术的多模式输入与输出处理方法研究与实践" 在 ChatGPT 技术中,处理多模式输入和输出是一项重要的挑战。为了实现更好的对话体验,我们需要研究和实践多模式输入与输出的处理方法。本文总结了 ChatGPT ...
ChatGPT 技术在多模态输入与输出的对话生成任务中的应用 ChatGPT 技术是近年来备受关注的一种对话生成模型,它可以生成流畅、连贯的对话,能够与用户进行自然而富有交互性的对话。在多模态输入与输出的对话生成任务...
工业大数据分析-HIVE输入与输出教学讲义 本资源是关于工业大数据分析的教学讲义,主要讲解了HIVE输入与输出的相关知识点。 HIVE 输入与输出任务概述 HIVE输入与输出任务的主要目的是读取csv文件数据,并将其存储...
如何将图像、语音等多种形式的数据与文本输入输出无缝连接,使得对话的连贯性得到保持,是一个具有挑战性的任务。 为了克服这些挑战,研究者们提出了许多创新的方法和模型。例如,将图像和文本通过注意力机制进行...
ChatGPT 技术的多模态输入与输出处理研究 ChatGPT 技术的多模态输入与输出处理是自然语言处理技术中的一个重要研究方向。传统的 GPT 技术只能处理文本输入和输出,对于多模态数据的处理仍然存在一定的挑战。近年来...
Python输入与输出
本章节主要讲解C语言中的输入输出函数,包括格式输出函数、格式输入函数、字符输出函数和字符输入函数。输入输出函数是C语言程序设计中非常重要的一部分,通过调用标准库函数,可以实现输入和输出的操作。 3.1 格式...
自动控制原理PPt绝对有用,希望对你有用 输入与输出作用
Java语言程序设计中的输入与输出是程序与外界交互的重要环节,主要涉及java.io包中的各类输入输出流。本教程将详细讲解输入输出的基础知识,包括输入输出类库、标准输入输出及标准错误、文件操作等方面。 1. **输入...
python的输入与输出的学习参考
《C语言程序设计:第3章 数据的输入输出》 在C语言编程中,数据的输入与输出是程序与用户交互的基础,也是程序功能实现的关键环节。本章主要讲解了如何利用C语言进行数据的输入输出操作,以及相关的重要概念。 ...
Java中的输入输出流是程序与外部数据交互的重要方式,它允许我们读取和写入数据到各种来源,如键盘、文件、网络等。在Java中,输入输出流分为两大类:字节流(Byte Stream)和字符流(Character Stream)。本次实验...
c++输入与输出小枕编程课