java-字节流练习(新手)
参考手册:


关键字:
FileInputStream() Input是从硬盘到内存
FileOutputStream() 而output是从内存到硬盘,所以实现了复制粘贴。
read() 调用方法读取
\r\n 换行
实例:
import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils;
import java.io.*;
public class ZJLlx {
public static void main(String[] args) throws IOException {
lx6();
}
private static void lx6() {
//currentTimeMillis 返回以毫秒为单位的当前时间。
//计算开始时间。
long s = System.currentTimeMillis();
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream("C:\\bxd.AVI");
fos = new FileOutputStream("D:\\bxd.AVI");
//创建一个字节数组,他的字节传输速度是1024*10。
byte[] b = new byte[1024*10];
//定义一个数据类型。
int len = 0;
//写入判断语句。按照字节数组的传输速度进行传送。
while ((len=fis.read(b))!=-1){
//按照b的速度,从0开始,一直到结束。
fos.write(b,0,len);
}
} catch (IOException e) {
e.printStackTrace();
}
//最终执行的代码段。
finally {
//判断是否执行,如果执行过之后就结束释放资源。
//如果没有执行过,就跳过If语句。
if (fis!=null){
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
} finally{
if (fos!=null){
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
//计算结束时间。
long e = System.currentTimeMillis();
//打印。
System.out.println(e-s);
}
}
private static void lx5() {
//设置对象。
FileInputStream fis = null;
FileOutputStream fos = null;
try {
//指定要复制的文件及路径。Input是从硬盘到内存。
fis = new FileInputStream("C:\\ja.txt");
//指定要粘贴的文件及路径。而output是从内存到硬盘,所以实现了复制粘贴。
fos = new FileOutputStream("D:\\ja.txt");
//定义一个数据类型。
int len = 0;
//定义判断条件。
while ((len = fis.read())!=-1){
fos.write(len);
}
} catch (IOException e) {
e.printStackTrace();
}
//最终执行的代码段。
finally {
//判断是否执行,如果执行过之后就结束释放资源。
//如果没有执行过,就跳过If语句。
if(fos!=null){
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
//最终执行的代码段。
finally {
//判断是否执行,如果执行过之后就结束释放资源。
//如果没有执行过,就跳过If语句,不进行判断。
if (fis!=null){
try {
fis.close();
} catch (IOException e) {
throw new RuntimeException("释放资源失败。");
}
}
}
}
}
}
public static void lx4() {
//FileInputStream 从硬盘到内存,进行显示。
try {
FileInputStream fis = new FileInputStream("D:\\ja.txt");
byte[] b = new byte[1024];
int len = 0;
while ((len = fis.read(b))!=-1){
System.out.println(new String(b,0,len));
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void lx3() {
//读写指定文件的内容。
//调用方法读取 read
try {
FileInputStream fis = new FileInputStream("D:\\ja.txt");
int len = 0;
while((len=fis.read())!=-1){
System.out.println((char)len);
}
} catch (IOException e) {
e.printStackTrace();
}
}
private static void lx2() throws IOException {
//FileOutputStream 从内存写入到硬盘,但是不会在控制台显示。
File file = new File("D:\\ja.txt");
FileOutputStream fos = new FileOutputStream(file,true);
fos.write("Hello \r\n".getBytes());
fos.write("\r\nqy\r\n97".getBytes());
fos.close();
}
public static void lx1() throws IOException {
FileOutputStream fos = new FileOutputStream("D:\\ja.txt");
fos.write(97);
byte[] b = {66,9,45,12,48};
fos.write(b,1,4);
fos.write("Show Arrays".getBytes());
fos.close();
}
}
打印结果:
lx1:

lx2:

lx3(读写指定文件的内容):
a - 0
S
h
o
w A
r
r
a
y
s
H
e
l
l
o q
y 9
7
lx4:
a -0Show ArraysHello qy
97
lx5:

lx6:

java-字节流练习(新手)的更多相关文章
- 使用Java字节流拷贝文件
本文给出使用Java字节流实现文件拷贝的例子 package LearnJava; import java.io.*; public class FileTest { public static vo ...
- java 字节流和字符流的区别 转载
转载自:http://blog.csdn.net/cynhafa/article/details/6882061 java 字节流和字符流的区别 字节流与和字符流的使用非常相似,两者除了操作代码上的不 ...
- java 字节流和字符流的区别
转载自:http://blog.csdn.net/cynhafa/article/details/6882061 java 字节流和字符流的区别 字节流与和字符流的使用非常相似,两者除了操作代码上的不 ...
- Java 字节流实现文件读写操作(InputStream-OutputStream)
Java 字节流实现文件读写操作(InputStream-OutputStream) 备注:字节流比字符流底层,但是效率底下. 字符流地址:http://pengyan5945.iteye.com/b ...
- 关于java字节流的read()方法返回值为int的思考
我们都知道java中io操作分为字节流和字符流,对于字节流,顾名思义是按字节的方式读取数据,所以我们常用字节流来读取二进制流(如图片,音乐 等文件).问题是为什么字节流中定义的read()方法返回值为 ...
- Java进阶(四十五)java 字节流与字符流的区别
java 字节流与字符流的区别(转载) 字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作 ...
- Java字节流实现文件夹的拷贝
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io ...
- JAVA字节流(读写文件)
InputStream此抽象类是表示字节输入流的所有类的超类.需要定义 InputStream 的子类的应用程序必须始终提供返回下一个输入字节的方法. int available()返回此输入流方法的 ...
- Java字节流read函数
问题引入 做Java作业从标准输入流获取用户输入,用到了System.in.read(),然后出现了bug. //随机生成一个小写字母,用户猜5次,读取用户输入,并判断是否猜对 import java ...
- java字节流和字符流,以及java文件操作
A.首先说字节流:1.字节流在操作的时候不会用到缓冲区(也就是内存)2.字节流可用于任何类型的对象,包括二进制对象3.字节流处理单元为1个字节,操作字节和字节数组.InputStream是所有字节输入 ...
随机推荐
- redis保存dataset
公司统一走redis缓存,也将之前的memcache迁移到redis碰到问题是redis的dataset缓存. memcache底层封装了dataset的序列化. 而redis引的DLL包,未支持.所 ...
- drf三大认证
源码分析 """ 1)APIView的dispath(self, request, *args, **kwargs) 2)dispath方法内 self.initial( ...
- Spring中的事件处理
文章目录 Spring中的事件处理 Spring 的核心是 ApplicationContext,它负责管理 beans 的完整生命周期.当加载 beans 时,ApplicationContext ...
- ehcache缓存框架之二级缓存
ehcache.xml配置文件 <?xml version="1.0" encoding="UTF-8"?> <ehcache xmlns:x ...
- Numpy入门(三):Numpy概率模块和线性代数模块
Numpy中经常使用到的两个模块是概率模块和线性代数模块,random 和 linalg 两个模块. 概率模块 产生二项分布的随机数:np.random.binomial(n,p,size=-),其中 ...
- test 5.1 高精度小数(10分)
请写一个程序,输入一个分数,计算出它的小数形式.无论是否可以除尽,输出最多小数点后200位. 题目内容 由于计算机内部表达方式的限制,浮点运算都有精度问题,为了得到高精度的计算结果,就需要自己设计实现 ...
- 产品需求说明书 PRD模版
XXX产品需求说明书 [版本号:V+数字] 编 制: 日 期: 评 审: 日 期: 批 准: 日 期: 修订记录 版本 修订章节 修订内容 ...
- 《ASP.NET Core 高性能系列》Span<T>和Memory<T>
一.Span<T>概述 原文:Provides a type- and memory-safe representation of a contiguous region of arbit ...
- Python——urllib函数网络文件获取
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- C#开发BIMFACE系列30 服务端API之模型对比1:发起模型对比
系列目录 [已更新最新开发文章,点击查看详细] 在实际项目中,由于需求变更经常需要对模型文件进行修改.为了便于用户了解模型在修改前后发生的变化,BIMFACE提供了模型在线对比功能,可以利用在 ...