I/O(输入/输出)
来源:互联网 发布:维多利亚的秘密 知乎 编辑:程序博客网 时间:2024/05/16 19:50
I/O(输入/输出)
在变量、数组和对象中存储的数据是暂时存在的,程序结束后它们就会消失。为了能够永久地保存创建的数据,需要将其保存在磁盘文件中,这样可以在其他程序中使用它们。 Java的I/O技术可以将数据保存到文本文件、二进制文件甚至是ZIP压缩文件中,已达到永久性保存数据的要求。
IO流
流是一组有序的数据序列,根据数据操作的类型,可分为输入流和输出流两种。即从java内存流动到存储介质中。 存储介质包括:硬盘、文件、数据库与网络等节点(数据源)。 流提供了一条通道程序,可以使用这条通道把源中的字节序列送到目的地。
虽然I/O流通常与磁盘文件存取有关,但是程序的源和目的地也可以是键盘、鼠标、内存或显示器等窗口等。
java由数据流处理输入/输出模式,程序从指向源的输入流中读取源中的数据。输出流的指向是数据要到达的目的地,程序通过向输出流中写入数据把信息传送到目的地。
Java语言定义了许多专门负责各种方式的输入/输出,这些类都被放在java.io包中。其中,所有输入流都是抽象类InputStream(字节输入流)或抽象类Reader(字符输入流)的子类;而所有输出流都是抽象类OutputStream(字节输出流)或抽象类Writer(字符输出流)的子类。
输入流
InputStream类是字节输入的抽象类,是所有字节输入流的父类。该类中所有方法遇到错误都会引发IOException异常。
1、输入流
Java中的字符是Unicode编码,是双字节。InputStream是用来处理字节的,并不适合处理字符文本。Java为字符文本的输入专门提供了一套单独的类Reader,但Reader类并不是InputStream类的替换者,只是在处理字符串时间简化了编程。Reader类是字符输入流的抽象类,所有字符输入流的实现都是它的子类。
2、输出流
OutputStream类是字节输出流的抽象类,此抽象类是表示输出流的所有类的超类。
OutputStream类中的所有方法均返回void,在遇到错误时会引发IOException异常。
Writer类是字符输出流的抽象类,所有字符输出类的实现都是它的子类。
File类
File类是java.io包中唯一代表磁盘文件本身的对象。File类定义了一些与平台无关的方法来操作文件,可以通过File类中的方法,实现创建、删除、重命名文件等操作。File类的对象主要用来获取文件本身的一些信息,如文件所在的目录、文件的长度读写权限等。数据流可以将数据写入到文件中,文件也是数据流最常用的数据媒体。
文件的创建与删除
File类创建文件对象,通过使用以下三种构造方法:
(1)File(String pathname)通过将给定路径名字符串转换成抽象路径名来创建一个新 File 实例。语法:new File(String pathname)File file=new File("路径")
(2)File(String parent,String child)通过给定的父抽象路径名和子路径名字符串创建一个新的File实例。语法:new File(String parent,String child) parent:父路径字符串。列如,D:/或D:/doc child:子路径字符串。列如, test.txt
(3)File(File f,String child)根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。f: 父路径对象。 列如,D:/doc/child: 子路路径字符串 列如, test.txt
代码:
import java.io.File;//创建类FileTestpublic class FileTest { public static void main(String[] args) throws Exception { //创建文件对象 File file=new File("word.txt"); //如果该文件存在 if(file.exists()){ //将文件删除 file.delete(); //输出提示信息 System.out.println("文件已删除"); //如果文件不存在 }else{ //try语句块捕捉可能出现的异常 try{ //创建该文件 file.createNewFile(); //输出提示信息 System.out.println("文件已创建"); }catch(Exception e){ e.printStackTrace(); } } }}
输出结果: 文件已创建
获取文件信息
File类提供了很多方法用于获取一些文件本身信息。
代码:
import java.io.File;//创建类FileTestpublic class FileTest { public static void main(String[] args) throws Exception { //创建文件对象 File file=new File("word.txt"); //如果该文件存在 if(file.exists()){ //获取文件名称 String name=file.getName(); //获取文件长度 long length=file.length(); //判断文件是否为隐藏文件 boolean hidden=file.isHidden(); //输出信息 System.out.println("文件名称:"+name); System.out.println("文件长度是:"+length); System.out.println("该文件是隐藏文件吗?"+hidden); //如果该文件不存在 }else{ System.out.println("该文件不存在"); } }}
输出结果: 文件名称:word.txt 文件长度是:0 该文件是隐藏文件吗?false
阅读全文
0 0
- I/O(输入/输出)
- I/O输入、输出
- Linux I/O(输入和输出)
- 输入/输出(I/O)方法
- 5.3 输入/输出(I/O)管理
- 输入/输出(I/O)管理
- C++ 输入/输出(I/O)
- Java I/O(输入/输出)
- I/O 输入与输出(1) -- File类
- I/O 输入与输出(2) -- RandomAccessFile类
- Linux shell I/O(输入/输出)重定向详解
- 02_输入与输出I/O(基础篇)
- Linux shell I/O(输入/输出)重定向详解
- 黑马程序员——I/O(输入/输出)流
- java系统学习(十一) --------输入与输出(I/O)
- Windows操作系统中的I/O(读/写 输入/输出)
- 输入、输出流以及文件操作(I/O、File)
- java 输入/输出流(I/O流)
- ROC曲线-阈值评价标准【FRR, FAR, TPR, FPR, ROC curve, ACC, SPC, PPV, NPV】
- (转)给趋势投资信仰充值:动量模型百年赚钱史
- Guava Cache
- 提示找不到文件,但是编译通过。。。
- 基于元胞自动机的显著性检测_BSCA(Saliency Detection via Cellular Automata)
- I/O(输入/输出)
- 我的第一个win32 API 程序
- 解决wget被某些网站禁用
- 判别式模型和产生式模型
- JVM内存区域
- 2017.07.04回顾 dataframe组合 groupby sort to_csv不存index
- 如果在mac本地快速搭建一个服务器
- 两份学习Kotlin和机器学习的资料
- Linux下安装Sqlite3