021.3 IO流——字节流-FileInputStream读取字节
内容:文件读取方法,读取方法例子,read(buf)方法中buf的取值,字节流缓冲区对象—提高读取速度///
文件读取方法:fis.read(),fis.read(buf),具体看例子
例子:文件读取——读取文件,显示出来
public class FileInputStreamDemo
{
public static void main(String[] args)
{
//为了确保文件一定在读之前一定存在。将字符串路径封装成File对象
File file = new File("F:"+File.separator+"eclipse_javaCode"+File.separator+"day22"
+File.separator+"src"+File.separator+"demo"+File.separator+"GetMoney.java");
if(!file.exists()){
throw new RuntimeException("文件不存在!");
} //创建文件字节读取流对象
FileInputStream fis = null;
try {
fis = new FileInputStream(file);
//第一种读取方法,单个读取
// int ch = 0;
// while(ch!=-1){
// ch = fis.read();
// System.out.println(ch); //读取文件第一种方法,成功返回acsii码,失败返回-1
// }
//第二个读取方法,批量读取
byte[] buf = new byte[1024];
int len = 0;
while((len = fis.read(buf)) != -1){
System.out.println(new String(buf,0,len));
}
} catch (IOException e) {
}
}
}
#################################################################
一般不直接创建相应大小的字节缓冲区
缓冲区大小一般是字节的倍数,1024的倍数
public static void main(String[] args) throws IOException
{
File file = new File("F:\\eclipse_javaCode\\day21\\src\\day21\\shangxin.txt");
System.out.println(file.length()); //获取文件字节数
FileInputStream fis = new FileInputStream(file);
System.out.println(fis.available()); //获取与之关联文件的字节数 byte[] buf = new byte[fis.available()]; //一般不会一下子创建相应大小的缓冲区,比如是高清电影就麻烦了。
//一般创建是1024的倍数
fis.read(buf);
String s = new String(buf);
System.out.println(s); fis.close();
}
字节流-复制文本
public static void main(String[] args) throws IOException
{
FileOutputStream fos = new FileOutputStream("xxx_copy.txt");
FileInputStream fis = new FileInputStream("FileInputStreamDemo.java"); byte[] buf = new byte[1024];
int len = 0;
while((len = fis.read(buf))!= -1){
fos.write(buf,0,len);
fos.flush();
} fis.close();
fos.close();
}
字节流的缓冲区对象
#####字节流复制文本—使用缓冲区对象,提高效率
private static void copyByBuffer() throws IOException
{
FileInputStream fis = new FileInputStream("aaaa.txt");
BufferedInputStream bufis = new BufferedInputStream(fis); FileOutputStream fos = new FileOutputStream("aaaa_copy.txt");
BufferedOutputStream bufos = new BufferedOutputStream(fos); byte[] buf = new byte[1024]; int by = 0;
while((by = bufis.read(buf))!=-1){
bufos.write(buf,0,by);
bufos.flush();
} fos.close();
fis.close(); }
021.3 IO流——字节流-FileInputStream读取字节的更多相关文章
- Java中的IO流之输出流|乐字节
大家好,乐字节小乐又来了.上一篇给大家带来的是:Java中的IO流之输入流|乐字节,本文将继续讲述IO流之输出流. 一.输出流 1.抽象类:OutputStream 和 Writer Output ...
- 021.4 IO流——字节、字符桥梁(编码解码)
默认使用的就是gbk编码,这里的例子改成了utf8编码 写入—编码 private static void writeText() throws IOException { FileOutputStr ...
- JAVA之IO流(字节流)
输入和输出 JAVA的流分为输入流和输出流两部分, 输入流:InputStream或者Reader:从文件中读到程序中: 输出流:OutputStream或者Writer:从程序中输出到文件中: Re ...
- IO流(字节流,字符流,缓冲流)
一:IO流的分类(组织架构) 根据处理数据类型的不同分为:字节流和字符流 根据数据流向不同分为:输入流和输出流 这么庞大的体系里面,常用的就那么几个,我们把它们抽取出来,如下图: 二:字符字节 ...
- Java之IO流(字节流,字符流)
IO流和Properties IO流 IO流是指计算机与外部世界或者一个程序与计算机的其余部分的之间的接口.它对于任何计算机系统都非常关键, 因而所有 I/O 的主体实际上是内置在操作系统中的.单独的 ...
- Java IO流-字节流
2017-11-05 17:48:17 Java中的IO流按数据类型分类分为两种,一是字节流,二是字符流.字符流的出现是为了简化文本数据的读入和写出操作. 如果操作的文件是文本文件,那么使用字符流会大 ...
- Java—IO流 字节流
IO流(输入流.输出流),又分为字节流.字符流. 流是磁盘或其它外围设备中存储的数据的源点或终点. 输入流:程序从输入流读取数据源.数据源包括外界(键盘.文件.网络…),即是将数据源读入到程序的通信通 ...
- java IO流——字节流
字节流主要操作byte类型数据,以byte数组为准,主要操作类有InputStream(字节输入流).OutputSteam(字节输出流)由于IputStream和OutputStream都是抽象类, ...
- Java中的IO流之输入流|乐字节
亲爱的乐字节的小伙伴们,小乐又来分享Java技术文章了.上一篇写到了IO流,这篇文章着重 谈谈输入流,再下次再说输出流. 点击回顾上一篇:乐字节Java之file.IO流基础知识和操作步骤 一. 输入 ...
随机推荐
- word转pdf(使用office)
1.安装office软件 2.在vs中写代码 注意需要引入 Microsoft.Office.Interop.Word插件 /// <summary> /// 将word转换成pdf文件 ...
- 出现<authentication mode="Windows"/>错误解决办法
转自:https://blog.csdn.net/clever101/article/details/39671715 网上下载的asp.net源码出现 <authentication mode ...
- ASP.NET 使用ajaxfileupload.js插件出现上传较大文件失败的解决方法(ajaxfileupload.js第一弹)
在写这篇的时候本来想把标题直接写成报错的提示,如下: “SecurityError:Blocked a frame with origin "http://localhost:55080&q ...
- WPF月视图控件
简介 在做一个应用时,需要做成日历月视图的形式.自己做较麻烦,于是上网找找看,在CodeProject上发现了这个Quick and Simple WPF Month-view Calendar,可是 ...
- 用户登录注册(安全)(常规、FB、google、paypal) 实战
/* 用户登录界面 */elseif ($action == 'login'){ if($_SESSION['user_id']) { ecs_header("Lo ...
- spring data jpa(一)
第1章 Spring Data JPA的快速入门 1.1 需求说明 Spring Data JPA完成客户的基本CRUD操作 1.2 搭建Spring Data JPA的开发环境 1. ...
- jquery怎么取得有好几个并且name是相同的值
jQuery("input[name='number']").each(function(){ alert(jQuery(this).val()); });
- Js实现简单的音频播放
现效果如下: 由于我这边不需要其他按钮,就没写 数据是由后台提供,在这做了个小列子 后台代码 ) { MusicPlayerModel model = new MusicPlayerModel(); ...
- JQuery 更改属性 JQ对象循环 each 全选反选 三元运算
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 关于 webpack 跨域
一.使用 http-proxy-middleware 代理 安装 http-proxy-middleware 依赖 在src 目录下 新建一个 setupProxy.js文件 // 引用依赖 va ...