1.5 JAVA的IO操作

参考链接:https://www.runoob.com/java/java-files-io.html

一、JAVA的IO操作

由于JAVA引用外界的数据,或是将自身的数据发送到外界,这时我们需要使用输入与输出。也就是JAVA的IO。

字符流通常是对控制台文本输入(Reader控制台写入程序数据)输出(Writer往控制台输出数据),

字节流通常是对文件的写入(InputStream从文件中读取数据)写出(OutputStream 向文件中写入数据)。

1.1读取控制台输入

用system.in读取控制台输入参数

//使用 BufferedReader 在控制台读取字符

import java.io.*;

public class BRRead {
public static void main(String args[]) throws IOException {
char c;
// 使用 System.in 创建 BufferedReader
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("输入字符, 按下 'q' 键退出。");
// 读取字符
do {
c = (char) br.read();
System.out.println(c);
} while (c != 'q');
}
}

1.2 控制台输出

控制台的输出由 print()和 println() 完成。这些方法都由类 PrintStream 定义,System.out 是该类对象的一个引用。

PrintStream 继承了 OutputStream类,并且实现了方法 write()。write() 方法不经常使用,因为 print() 和 println() 方法用起来更为方便。

1.3 读写文件(输入流)

InputStream是所有字节输入流的父类,一个流被定义为一个数据序列。输入流用于从源读取数据,输出流用于向目标写数据。

FileInputStream该流用于从文件读取数据,它的对象可以用关键字 new 来创建。

//创建两种方式
InputStream f = new FileInputStream("C:/java/hello"); File f = new File("C:/java/hello");
InputStream out = new FileInputStream(f);

InputStream是所有字节输入流的父类,创建了InputStream对象可调用的方法来读取流或者进行其他的流操作。read()是基础方法。

//关闭此文件输入流并释放与此流有关的所有系统资源。抛出IOException异常。
out.close();
//这个方法清除与该文件的连接。确保在不再引用文件输入流时调用其 close 方法。抛出IOException异常。
out.finalize();
//这个方法从 InputStream 对象读取指定字节的数据。返回为整数值。
out.read(int r);
//读取r.length长度的字节
int read(byte[] r)
//返回下一次对此输入流调用的方法可以不受阻塞地从此输入流读取的字节数
available();

除了 InputStream 外,还有一些其他的输入流ByteArrayInputStream、DataInputStream。

1.4 输出流(FileOutputStream)

OutputStream是所有字节输出流的父类,write()是基础语法,该类用来创建一个文件并向文件中写数据。该类用来创建一个文件并向文件中写数据。如果该流在打开文件进行输出前,目标文件不存在,那么该流会创建该文件。

//创建的两种方式
OutputStream f = new FileOutputStream("C:/java/hello") File f = new File("C:/java/hello");
OutputStream f = new FileOutputStream(f);

OutputStream 对象完成后,就可以使用 close()、finalize()、 write(int w)、write(byte[] w)。

还有其它输出流ByteArrayOutputStream、DataOutputStream

//文件名 :IO操作的例子
import java.io.*; public class fileStreamTest2 {
public static void main(String[] args) throws IOException {
File f = new File("a.txt");
FileOutputStream fop = new FileOutputStream(f);
// 构建FileOutputStream对象,文件不存在会自动新建
OutputStreamWriter writer = new OutputStreamWriter(fop, "UTF-8");
// 构建OutputStreamWriter对象,参数可以指定编码,默认为操作系统默认编码,windows上是gbk
writer.append("中文输入");
// 写入到缓冲区
writer.append("\r\n");
// 换行
writer.append("English");
// 刷新缓存冲,写入到文件,如果下面已经没有写入的内容了,直接close也会写入
writer.close();
// 关闭写入流,同时会把缓冲区内容写入文件,所以上面的注释掉
fop.close();
// 关闭输出流,释放系统资源
FileInputStream fip = new FileInputStream(f);
// 构建FileInputStream对象
InputStreamReader reader = new InputStreamReader(fip, "UTF-8");
// 构建InputStreamReader对象,编码与写入相同
StringBuffer sb = new StringBuffer();
while (reader.ready()) {
sb.append((char) reader.read());
// 转成char加到StringBuffer对象中
}
System.out.println(sb.toString());
reader.close();
// 关闭读取流
fip.close();
// 关闭输入流,释放系统资源
}
}

1.5 文件和IO的操作

创建文件夹俩种方式

mkdir( )方法创建一个文件夹,成功则返回true,失败则返回false。失败表明File对象指定的路径已经存在,或者由于整个路径还不存在,该文件夹不能被创建。

mkdirs()方法创建一个文件夹和它的所有父文件夹。

Filed = newFile(dirname); // 现在创建目录d.mkdirs();

判断是否有目录,isDirectory() 方法会返回 true。

删除目录, deleteFolder(folder);

  

1.5 JAVA的IO操作的更多相关文章

  1. Java的IO操作中有面向字节(Byte)和面向字符(Character)两种方式

    解析:Java的IO操作中有面向字节(Byte)和面向字符(Character)两种方式.面向字节的操作为以8位为单位对二进制的数据进行操作,对数据不进行转换,这些类都是InputStream和Out ...

  2. Java之IO操作总结

    所谓IO,也就是Input与Output的缩写.在java中,IO涉及的范围比较大,这里主要讨论针对文件内容的读写 其他知识点将放置后续章节 对于文件内容的操作主要分为两大类 分别是: 字符流 字节流 ...

  3. Java 基本IO操作

    1.基本IO操作     有时候我们编写的程序除了自身会定义一些数据信息外,还需要引用外界的数据,或是将自身的数据发送到外界,这时我们需要使用输入与输出. 1)输入与输出       输入:是一个从外 ...

  4. java的IO操作:字节流与字符流操作

    流的概念 程序中的输入输出都是以流形式,流中保存的实际上都是字节文件. 字节流与字符流 字节流的操作: 1)输入:inputStream, 2)输出:outPutStream; 字符流的操作: 1)输 ...

  5. Java 文件 IO 操作

    window 路径分割符: \ 表示 windows 系统文件目录分割符 java 代码在 windows 下写某个文件的话需要下面的方式 D:\\soft\\sdclass.txt  其中一个单斜杠 ...

  6. Java文件IO操作应该抛弃File拥抱Paths和Files

    Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream;import java.nio.file.FileSystem; ...

  7. java的IO操作之--RandomAccessFile

    目标: 1)掌握RandomAccessFile类的作用. 2)用RandomAccessFile读取指定位置的数据. 具体内容 RandomAccessFile类的主要功能是完成随机读取功能,可以读 ...

  8. Java的IO操作---File类

    目标 1)掌握File类作用 2)可以使用file类中方法对文件进行读写操作. File类 唯一与文件有关的类.使用file类可进行创建或删除操作,要想使用File类,首先观察File类的构造方法. ...

  9. java文件IO操作

    package com.io; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream ...

随机推荐

  1. 移植 Linux 内核

    目录 更新记录 1.Linux 版本及特点 2.打补丁.编译.烧写.启动内核 3.内核源码文件结构 4.内核架构分析 4.1 内核配置 4.2 Makefile架构分析 4.3 Kconfig 架构文 ...

  2. PHP 获取数组指定值的位置或下标

    <?php     //定义一个数组     $array = array(0 => 'a', 1 => 'b', 2 => 'c', 3 => 'd');     // ...

  3. C#面向对象(五大基本原则 )

    五大原则 单一职责原则(SRP)开放封闭原则(OCP) 里氏替换原则(LSP) 依赖倒置原则(DIP) 接口隔离原则(ISP)  一.单一职责原则SRP(Single Responsibility P ...

  4. 【Struts2】 国际化

    一.概述 二.Struts2中国际化: 2.1 问题1 全局 局部 2.2 问题2 2.3 问题3 2.4 问题4 在Action中怎样使用 在JSP页面上怎样使用 一.概述 同一款软件 可以为不同用 ...

  5. 五、DDL语言

    目录 简介 库的管理: 表的管理: 命令: 库的管理 创建 修改(一旦创建库,一般不修改) 删除 表的管理 创建 修改 删除 复制 常见约束 含义 分类 标识列(自增长列) 简介 DDL:数据定义语言 ...

  6. 【3】Git命令

    个人推荐的Git知识学习网站:https://git-scm.com . git常用操作图 init -> add -> commit -> remote -> push 初始 ...

  7. Mysql(九):Python连接MySQL数据库之pymysql模块使用

    Python3连接MySQL 本文介绍Python3连接MySQL的第三方库--PyMySQL的基本使用. PyMySQL介绍 PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服 ...

  8. idea配置代码注释模板

    从eclipse换成idea后,有点不习惯,其中之一就是代码注释,感觉不如eclipse好用,下面是一些配置方法,配完之后差不多能实现eclipse的效果. 1.以配置Class的注释为例,其他文件的 ...

  9. PAT Basic 1062 最简分数 (20 分)

    一个分数一般写成两个整数相除的形式:/,其中 M 不为0.最简分数是指分子和分母没有公约数的分数表示形式. 现给定两个不相等的正分数 / 和 /,要求你按从小到大的顺序列出它们之间分母为 K 的最简分 ...

  10. fixed固定元素

    1.css <style type="text/css"> .elementFixed{ position: fixed; top:0; } </style> ...