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是所有字节输入 ...
随机推荐
- 吴裕雄--天生自然python学习笔记:Python3 面向对象
Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的. 面向对象技术简介 类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集 ...
- 吴裕雄--天生自然 R语言开发学习:图形初阶(续一)
# ----------------------------------------------------# # R in Action (2nd ed): Chapter 3 # # Gettin ...
- 三分钟学会使用Derby数据库
Derby数据库是一个纯用Java实现的内存数据库,属于Apache的一个开源项目.由于是用Java实现的,所以可以在任何平台上运行:另外一个特点是体积小,免安装,java1.6开始集成了derby数 ...
- 极力推荐大佬的java项目的博客
此次说明:这是我从码云上拉取下来的java项目,仅供试验说明,不做任何获利渠道,若是发现有人拿此做其他用处,需像码云上这位大佬说明,特此感谢!!! 准备工作: 安装 maven,jdk1.8, ...
- Django学习之路02
静态文件配置 html文件默认全都放在templates文件夹下 对于前段已经写好了的文件, 我们只是拿过来使用 那么这些文件都可以称之为叫"静态文件"静态文件可以是 bootst ...
- 关于运算符的那些坑—自增x++&&++y
题目 比较常见的问题,因为比较细,看书的时候一不注意可能就过去啦,但是遇到的时候就会容易出问题.先看下面程序,考虑一下运行结果是什么呢? int x = 1, y = 1; if(x++ == 2 & ...
- 用jekyll和github把网站建起来!
先把这些天学习的用jekyll在github上搭建网站的步骤记录下来,留作参考. #安装jekyll 确定系统安装 Git, Ruby, RubyGems, Nodejs, Python2.7. 如何 ...
- 使用pandas筛选出指定列值所对应的行
在pandas中怎么样实现类似mysql查找语句的功能: select * from table where column_name = some_value; pandas中获取数据的有以下几种方法 ...
- C++走向远洋——62(项目二1、类模板)
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- (Win10)Java,Maven,Tomcat8.0,Mysql8.0.15安装与环境配置,以及IDEA2019.3使用JDBC连接MySQL、创建JavaEE项目
之前用windows+linux的双系统,最近不怎么舒服就把双系统给卸了,没想到除了问题,导致有linux残余,于是就一狠心重装了电脑,又把Java及其相关的一些东西重新装了回来,还好当初存了网盘链接 ...