/*
* IO流: 作用:用于设备和设备之间的数据传输
* File类的使用:操作文件的属性
*
* IO流 用来操作文件的数据
*
* 分类:
* 流按照操作数据的类型分为:字节流 / 字符流
*
* 字节流:读取的是文件的二进制数据,不会对二进制做处理.不会解析成比看得懂的数据
* 字符流:读取的是二进制数据。他会将二进制数据转化为我们能过别的字符(解码)。字符流是以字符为单位
*字符流 = 字节流 +解码

* 流按照流的方向: 输入流和输出流
* 判断流是输出还是输入以当前的应用程序为参考,观察数据是流入还是流出,如果是流出就是输出流
*
* 先来看字节输入流
* InputStream 此抽象类是表示字节输入流的所有类的超类,抽象类
*
* 如何判断一个流值字节输入流
* 判断他的类名是否以InputStream结尾
* 使用FileInputStream 是InputStream的子类
* 使用步骤
* 1.找到目标文件

package IO02;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class Demo3 {

public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub

getFile();
getFile2();
getFile3();
getFile4();
}

//方法四
public static void getFile4() throws IOException{
File file = new File("C:\\JAVA学习/a.txt");

//2.建立通道
FileInputStream fileInputStream = new FileInputStream(file);

//3.建立一个缓冲区
byte[] b = new byte[1024];

int count=0;

while((count = fileInputStream.read(b))!=-1){

System.out.print("方法四:"+new String(b,0,count));

}
//5.关闭资源
fileInputStream.close();

}

//方法3
public static void getFile3() throws IOException{
File file = new File("C:\\JAVA学习/a.txt");

//2.建立通道
FileInputStream fileInputStream = new FileInputStream(file);

//3.创建一个缓冲区
byte[] b = new byte[1024];

int count = fileInputStream.read(b);

System.out.println(count);

System.out.println("方法三:"+new String(b,0,count));

//5.关闭资源
fileInputStream.close();

}

//方法二

//1.找到目标文件
public static void getFile2() throws IOException{
File file = new File("C:\\JAVA学习/a.txt");

//2.建立通道
FileInputStream fileInputStream = new FileInputStream(file);

//3.读数据
/*for (int i = 0; i < file.leng(); i++) {
char c = (char)fileInputStream.read();
System.out.println(c);
}
*/
int content = 0;
while ((content = fileInputStream.read())!=-1) {
System.out.print("方法二:"+(char)content);

}

}

public static void getFile() throws IOException{

//方法一
//1.找到目标文件
File file = new File("C:\\JAVA学习/a.txt");

//2.建立通道
FileInputStream fileInputStream = new FileInputStream(file);
//3.读取文件中的数据
//read()只获取一个字节
int data = fileInputStream.read();
System.out.println("获取数据 :" + data);

//4.关闭资源
fileInputStream.close();

}
}

转载于:https://www.cnblogs.com/qq282273633/p/6133799.html

Java IO学习第二天部分详解相关推荐

  1. Java中大数据数组,Java基础学习笔记之数组详解

    摘要:这篇Java开发技术栏目下的"Java基础学习笔记之数组详解",介绍的技术点是"java基础学习笔记.基础学习笔记.Java基础.数组详解.学习笔记.Java&qu ...

  2. java.IO字节流和字符流详解

    IO流的分类 在学习字节流和字符流之前因该先学习IO流的分类,效果会更好 有多种分类方式: 一种方式是按照流的方向进行分类: 以内存作为参照物, 往内存中去,叫做输入(Input).或者叫做读(Rea ...

  3. java IO、NIO、AIO详解

    概述 在我们学习Java的IO流之前,我们都要了解几个关键词 同步与异步(synchronous/asynchronous):同步是一种可靠的有序运行机制,当我们进行同步操作时,后续的任务是等待当前调 ...

  4. java IO流之缓冲流详解

    缓冲流概述 缓冲流也称为高效流或者高级流.之前我们学习的字节流.字符流可以成为基本流. 作用:缓冲流自带缓冲区.可以提高基本字节流.字符流读写数据的性能. 分类: BufferedInputStrea ...

  5. Java IO 字节流、字符流详解

    1. 字节流与字符流 流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接.类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流 ...

  6. Java NIO学习篇之PosixFilePermission详解

    定义: PosixFilePermission是一个枚举类,代表着文件的基本权限. public enum PosixFilePermission {/*** 文件所有者的读权限*/OWNER_REA ...

  7. Java NIO学习篇之StandardOpenOption详解

    定义: StandardOpenOption是一个枚举类,代表着文件连接时的标准选项.通常可以多个选项一起使用. public enum StandardOpenOption implements O ...

  8. java 控制jsp_JSP学习之Java Web中的安全控制实例详解

    普通用户界面 修改登录的Servlet,修改后的代码如下: LoginProcess.java代码: package servlet; import javabean.User; import jav ...

  9. java学习 类变量 类方法_这篇文章主要介绍了JAVA类变量及类方法代码实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下类变量(...

    这篇文章主要介绍了JAVA类变量及类方法代码实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 类变量(static) 类变量是该类的所有对象共 ...

最新文章

  1. (C++)判断一个序列是non-increasing/non-decreasing还是两者都不的两个方法
  2. linux dd命令磁盘写入
  3. 请你讲一讲JavaScript有哪些数据类型, 数据类型判断有哪些方法?
  4. Java开发中文件读取方式总结
  5. boost::callable_traits的has_varargs的测试程序
  6. c# winform 应用编程代码总结 5
  7. PyTorch | 通过torch.arange创建等差数列张量 | torch.arange()如何使用?torch.arange()使用方法 torch.arange()举例说明
  8. oracle内置函数 wmsys.wm_concat使用
  9. cmd命令不识别exp_Struts2 S2061 远程命令执行漏洞(CVE202017530)复现
  10. SCRUM的五个事件
  11. WinCE下直接启动自己应用程序的方法
  12. 监控web状态的脚本
  13. .dms文档打开方式
  14. 米豆网首页快照不更新原因分析
  15. TikTok视频流量黄金发布时间
  16. ibm 服务器 总显示f1,联想ThinkPad笔记本中F1/F4键盘指示灯一直常亮着如何解决
  17. win .net 问题汇总
  18. C# 关于AD域的操作 (首博)
  19. 生物实验室搬迁需要注意什么
  20. 就离谱!使用机器学习预测2022世界杯:小组赛挺准,但冠亚季军都错了 ⛵

热门文章

  1. C#中如何创建文件夹,复制文件夹,删除文件夹的方法
  2. Spring MVC视图解析器
  3. python的回收机制_Python的垃圾回收机制深入分析
  4. java writeint_Java DataOutputStream writeInt()方法
  5. 现在学java的都是傻子?
  6. python程序员在公司都是做什么的?
  7. 转行HTML5前端开发,该怎么学才能最快入门
  8. 5条能让web前端至少手拿20万年薪的特性!
  9. python的pip换源_[Python]Pip换源以及设置代理
  10. kafka 修改分区_kafka修改分区和副本数