Java文件(io)编程——文件字节流的使用
案例1:
演示FileInputStream类的使用(用FileInputStream的对象把文件读入到内存)
首先要在E盘新建一个文本文件,命名为test.txt,输入若干字符
public class Demo_2 {
public static void main(String[] args) {
File f=new File("e:\\test.txt"); //得到一个文件对象f,指向e:\\test.txt
FileInputStream fis=null;
try {
fis=new FileInputStream(f); //因为File没有读写的能力,所以需要使用FileInputStream
byte []bytes=new byte[1024]; //定义一个字节数组,相当于缓存
int n=0; //得到实际读取到的字节数
while((n=fis.read(bytes))!=-1){ //循环读取
String s=new String(bytes,0,n); //把字节转成String(只转0到n位)
System.out.println(s);
}
} catch (Exception e) {
e.printStackTrace();
}finally{ //关闭文件流必须放在这里
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
运行程序,控制台输出test.txt中输入的字符。
案例2:
演示FileOutputStream的使用(把输入的字符串保存到文件中)
public class Demo_3 {
public static void main(String[] args) {
File f=new File("e:\\ss.txt");
FileOutputStream fos=null; //字节输出流
try {
fos=new FileOutputStream(f);
String s="你好,疯子!\r\n"; //\r\n为了实现换行保存
String s2="24个比利";
fos.write(s.getBytes());
fos.write(s2.getBytes());
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
打开E盘名为ss.txt的文本文档,存在输入的字符。
案例3:图片拷贝
首先在E盘准备一张图片,命名为a.jpg
public class Demo_4 {
public static void main(String[] args) {
//思路 先把图片读入到内存,再写入到某个文件
//因为图片是二进制文件,只能用字节流完成
FileInputStream fis=null; //输入流
FileOutputStream fos=null; //输出流
try {
fis=new FileInputStream("e:\\a.jpg");
fos=new FileOutputStream("d:\\a.jpg");
byte []bytes=new byte[1024];
int n=0; //记录实际读取到的字节数
while((n=fis.read(bytes))!=-1){ //read函数返回读入缓冲区的字节总数
fos.write(bytes); //输出到指定文件
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
fis.close();
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
打开D盘,点击a.jpg,图片正常显示即运行成功。
Java文件(io)编程——文件字节流的使用的更多相关文章
- Java文件(io)编程——文件字符流的使用
案例1: 读取一个文件并写入到另一个文件中,char[] 来中转. 首先要在E盘下创建一个文本文档,命名为test.txt,输入一些字符串. public class Demo_5 { public ...
- 《嵌入式linux应用程序开发标准教程》笔记——6.文件IO编程
前段时间看APUE,确实比较详细,不过过于详细了,当成工具书倒是比较合适,还是读一读这种培训机构的书籍,进度会比较快,遇到问题时再回去翻翻APUE,这样的效率可能更高一些. <嵌入式linux应 ...
- 2.Linux文件IO编程
2.1Linux文件IO概述 2.1.0POSIX规范 POSIX:(Portable Operating System Interface)可移植操作系统接口规范. 由IEEE制定,是为了提高UNI ...
- 文件IO——将文件dfs的文件内容第三个字节之后的内容复制到文件dfd中
/* 使用文件IO将文件fds中的内容复制到文件fdd中去 1.创建两个文件描述符 2.使用open()方法分别以只读只写方式将文件描述符符文件连接 3.将读位置后移三位 4.将fds内容存储到缓冲区 ...
- Java 之文件IO编程 之写入
package com.sun; /* * 操作对文件IO的写 * 2014-08-10 */ import java.io.*; public class File_Write { public s ...
- Java 之文件IO编程 之读取
package com.sun; /* * 这里是对文件IO流读取的操作 * 2014-08-10 */ import java.io.*; public class File_test { publ ...
- java中io对文件操作的简单介绍
11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程 ...
- Python之IO编程——文件读写、StringIO/BytesIO、操作文件和目录、序列化
IO编程 IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口.从 ...
- java中IO写文件工具类
以下是一些依据经常使用java类进行组装的对文件进行操作的类,平时,我更喜欢使用Jodd.io中提供的一些对文件的操作类,里面的方法写的简单易懂. 当中jodd中提供的JavaUtil类中提供的方法足 ...
随机推荐
- BZOJ 4522 Pollard-rho+exgcd
思路: N=P*Q 求出来P和Q 模拟就好- //By SiriusRen #include <cstdio> #include <algorithm> using names ...
- SpringBoot(七) SpringBoot中的缓存机制
随着时间的积累,应用的使用用户不断增加,数据规模也越来越大,往往数据库查询操作会成为影响用户使用体验的瓶颈,此时使用缓存往往是解决这一问题非常好的手段之一.Spring 3开始提供了强大的基于注解的缓 ...
- Linux内核分析笔记
我在MOOC<Linux内核分析>的学习笔记,这里只做个索引! 计算机是如何工作的
- pgpool中定义的数据库节点及pgpool支持的复制模式
/* * The first DB node id appears in pgpool.conf or the first "live" DB * node otherwise. ...
- Xcode 下“ did not have any applicable content ”分析及解决
问题的产生 a.新建项目时选的iPhone b.为了做成图片启动,按照惯例去掉了LaunchStoryboard的引用,建了个LaunchImage的资源,属性里随便勾了一个,找了张匹配的图拖了过去 ...
- day12 字符编码
计算机基础 启动应用程序 双击QQ 操作系统接受指令然后把该操作转化成0和1发送给CPU CPU接受指令然后把指令发送给内存 内存接受指令把指令发送给硬盘读取数据 QQ在内存中运行 写文本的流程 在记 ...
- js在当前日期基础上,加1天 3天 7天 15天
需求 点击保障期的天数 根据起始时间算出结束时间 代码 //点击保障期触发的方法 periodChange(val,id){ this.activeNumperiod=val this.submitD ...
- virtualenv和virtualenvwrapper的安装与使用
环境 Windows 10 python 3.6.7 virtualenv 安装 virtualenv用于创建虚拟环境,用于隔离不同的python版本的运行,是容器类软件.这里在Windows下通过p ...
- vue实现分页器(仿element)
1.起因 今日看完element中分页器的源码实现,比较简单,遂自己按着理解实现了一个简单的分页器,记录下来,以便日后温习. 2.实现难点 分页器的实现难点主要是什么时候显示分页器的省略, 我的思路是 ...
- Vue系列(三):组件及数据传递、路由、单文件组件、vue-cli脚手架
上一篇:Vue系列(二):发送Ajax.JSONP请求.Vue生命周期及实例属性和方法.自定义指令与过渡 一. 组件component 1. 什么是组件? 组件(Component)是 Vue.js ...