java io 缓存读取_Java 文件IO写入读取四种方法
第一种:字节流 FileInputStream FileOutputStream
1.1 读取操作
//先创建一个和硬盘连接的流(打通硬盘和内存的通道)
FileInputStream fis = new FileInputStream("D:\\Demo.txt");
//创建缓存区大小是1k
byte[] bytes = new byte[1024];
int data = 0; //存储有效字节数
StringBuffer sb = new StringBuffer();
//由于文件大小通常远远大于缓冲区大小,所以要循环读取
while((data = fis.read(bytes)) != -1){//返回-1则文件读取完毕,停止循环读取
String temp=new String(bytes,0,data);//读取缓冲区的字节数,转换成字符串
sb.append(temp);
System.out.printlb("====有效字节数===="+data);
}
System.out.printlb(sb.toString());
//关闭流
fis.close();
1.2 写入操作
//创建一个读取文件的流
FileOutputStream fos = new FileOutputStream("E:\\Demo.txt");
String temp = "海内存知己,天涯若比邻。";
//把字符串分解成字节,填到字节数组中
byte[] bytes = temp.getBytes();
//写入到指定路径,没有则创建文件
fos.write(bytes);
//关闭流
fos.close();
System.out.println("写入成功!");
第二种:字符流 char FileReader FileWriter
tips:在不同操作系统和编码方式下,char和byte之间的关系不是固定的
一般认为:gbk/gb2312 2个byte
utf-8 3个byte
2.1 读取操作
Reader fr = new FileReader("E:\\Demo.txt");char ch[] = new char[1024];
StringBuffer sbf= newStringBuffer();int length =fr.read(ch);while (length != -1) {
sbf.append(ch);
length=fr.read();
}
System.out.println(sbf.toString());
fr.close();
2.2 写入操作
Writer fr = new FileWriter("D:\\Demo.txt");
fr.write("有朋自远方来,不亦乐乎");
fr.close();
第三种:带缓冲区的字符读取和写入方案
BufferedReader
BufferedWriter 缓冲区 存储的数据量默认是1024byte
3.1 读取操作
Reader fr = new FileReader("D:\\Demo.txt");
BufferedReader br = new BufferedReader(fr);
String line = br.readLine();
while (line != null) {
System.out.println(line);
line = br.readLine();
}
br.close();
fw.close();
3.2 写入操作
Writer fw = new FileWriter("D:\\Demo.txt",true);//true 为连续追加
BufferedWriter bw = new BufferedWriter(fw);
bw.write("学而时习之,不亦説乎");
bw.close();
fw.close();
第四种:二进制方式的读取和写入方案
DataInputStream
DataOutputStream
读写操作:复制粘贴
InputStream is = new FileInputStream("E:\\春暖花开.jpg");
DataInputStream dis = new DataInputStream(is);
OutputStream ops = new FileOutputStream("D:\\春暖花开.jpg");
DataOutputStream dos = new DataOutputStream(ops);
byte[] bytes = new byte[1024];
int date = 0;
while ((date = dis.read(bytes)) != -1) {
dos.write(bytes,0,date);
}
dos.close();
ops.close();
dis.close();
is.close();
System.out.println("复制成功");
java io 缓存读取_Java 文件IO写入读取四种方法相关推荐
- java i o中文版_Java文件I/O的三种方法
摘要:之前在面试中被问到过两次Java中文件读入输出怎么写,当时只记得一个大概,没有办法很清晰的说出一个条理,今天特地看出总结了一下这方面的内容,想要写出来给大家分享.首先文件读入输出流常用有三种:F ...
- JAVA中获取文件MD5值的四种方法
JAVA中获取文件MD5值的四种方法其实都很类似,因为核心都是通过JAVA自带的MessageDigest类来实现.获取文件MD5值主要分为三个步骤,第一步获取文件的byte信息,第二步通过Messa ...
- php保存文件和下载文件到本地的四种方法
php保存文件和下载文件到本地的四种方法 本文操作环境:windows7系统.PHP7.1版,DELLG3电脑 php保存文件的方法 PHP下载保存文件到本地 经常需要点击按钮,然后弹 ...
- java中三种方法_Java文件I/O的三种方法
Java文件I/O的三种方法 RandomAccessFile是不属于InputStream和OutputStream类系的.实际上,除了实现DataInput和DataOutput接口之外(Data ...
- java时间代码_java获取当前时间的四种方法代码实例
这篇文章主要介绍了java获取当前时间的四种方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 第一种:Date类 public class ...
- java list转set去重_Java中List去重的四种方法
Java中List去重的四种方法 package com.lxz.test; import java.util.ArrayList; import java.util.HashSet; import ...
- 如何给电脑文件加密?分享四种方法!
想要给文件设置加密,防止他人查看自己的文件,分享四种方法给电脑文件加密. 一:隐藏文件 如果不想给文件设置密码,我们可以将文件隐藏起来,这样设置之后,文件就不会再显示在文件夹里了,想要隐藏文件,我们只 ...
- java文件流读取_java 文件及流读取
在Java语言的IO编程中,读取文件是分两个步骤:1.将文件中的数据转换为流,2.读取流内部的数据.其中第一个步骤由系统完成,只需要创建对应的流对象即可,对象创建完成以后步骤1就完成了,第二个步骤使用 ...
- java上传下载_Java文件上传与文件下载实现方法详解
本文实例讲述了Java文件上传与文件下载实现方法.分享给大家供大家参考,具体如下: Java文件上传 数据上传是客户端向服务器端上传数据,客户端向服务器发送的所有请求都属于数据上传.文件上传是数据上传 ...
最新文章
- python分别统计男女人数_python实现爬虫统计学校BBS男女比例(一)
- 获取生产订单的系统状态
- AI大神贾扬清确认将离开Facebook,加入阿里硅谷研究院
- discuz邮件设置PHP,Discuz!6.0—如何配置发送邮件的参数
- 三菱880彩铅和uni的区别_孟祥雷丨清华美院毕业,彩铅界的“冷军”(附彩铅教程哦!)...
- 【TensorFlow】通过两个简单的例子实现反向传播
- JVM虚拟机-Class文件之类索引、父类索引和接口索引集合
- 迁移Exchange Server 2003
- Java常用开发工具有哪些?
- 一仓库失窃,四管理员被传讯_如何找到丢失或失窃的Android手机
- 一道反序列化的CTF题分享
- 戴尔笔记本无法调节亮度怎么办?
- Java学习(二)---SE阶段回顾
- python 字典修改键(key)的方法
- 毕业设计-基于大数据的电影推荐系统-python
- ipvs命令~创建VS/DR模式集群
- 前端开发面试知识点大纲
- 线上抓娃娃方案的选型方法
- sql中like的所有用法
- 清华大学python吴萍答案_第732章 清华大学计算机系的扛把子
热门文章
- PHP新手上路(十)
- 2.2物理层传输介质
- Leetcode--144. 二叉树的前序遍历(迭代递归)
- Leetcode--120. 三角形最小路径和
- 知道接口地址 如何传数据_数据不知道如何可视化?一款工具推荐给大家
- python中set index_python中set基础应用
- 宝塔mysql data修改_宝塔一键修改mysql数据库存放路径,更改默认数据目录…
- html怎么在图片上添加文字_Image J基础操作:给图片添加文字和标注
- mysql调优_MYSQL企业常用架构与调优经验分享
- leetcode报错runtime error: reference binding to null pointer of type ‘std::vector<std::__cxx11::basic_