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. C# list to dictionary

    示例: 新建一个类: public class Lang { public string En; public string Ch; } 实例化并转为字典: List<Lang> lang ...

  2. SqlServer 附加数据库出错

    方法一 找到要添加数据库的.mdf文件,点击右键,选择属性 在属性页面点击安全,选择Authenticated Users,单击编辑 Authenticated Users权限中选择完全控制,点击确定 ...

  3. js获取图片内容上传

    <script> $('#pic').change(function(){ var size=document.getElementById('pic').files[0].size va ...

  4. 让theano在windows下能进行GPU并行的配置步骤

    最近在implement DeepLearning.net上面的程序.对于开源的python,最头疼的就是各种package和各种configuration. 而且还是在windows下. 想要让th ...

  5. ESP8266开发环境、编译、烧录

    官方地址 中:http://www.espressif.com/zh-hans/support/download/overview?keys=&field_type_tid[]=14 英:ht ...

  6. fnmatch:Unix式glob模式匹配,简单场景下可以代替正则

    介绍 fnmatch模块用于根据glob模式(如Unix shell所使用的的模式)比较文件名 简单匹配 import fnmatch ''' fnmatch将一个文件名与一个模式进行比较,并返回一个 ...

  7. 解决docker容器开启端口映射后,会自动在防火墙上打开端口的问题

    在docker中运行第三方服务时,通常需要绑定服务端口到本地主机.但使用 -p 参数进行的端口映射,会自动在iptables中建立规则,绕过firewalld,这对于端口级的黑白名单控制管理是很不利的 ...

  8. Google 停止推出 Chrome 79

    据 Google 方面表示,新版本的使用率达到了整个用户群的 50% 已经.不过值得注意的是,并非所有提供该更新的设备都已安装了该工具.初步数据显示,只有 10% 的人部署了新版本. 针对用户反馈,开 ...

  9. 微信小程序开发(九)获取手机连接的wifi信息

    // succ.wxml <view>WIFI ssid:{{wifissid}}</view> <view>WIFI bssid:{{wifiBssid}}< ...

  10. 蓝桥杯入门——1.Fibonacci数列

    问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入格式 输入包含一个整数n ...