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是所有字节输入 ...
随机推荐
- Proxmox如何进入单人维护模式(重置root密码)
官网连接:https://pve.proxmox.com/wiki/Root_Password_Reset Root Password Reset Contents [hide] 1Reset ...
- [hdu4630] No Pain No Game
某次模拟赛的T1. 刚开始怀疑是RMQ......我真是太弱了QAQ 题目传送门 正解是离线操作,把所有询问按r从小到大排序. 然后把数从左到右处理,处理完第i个数,就可以回答所有r==i的询问了. ...
- [洛谷P2613] [模板] 有理数取余
刷水题. 传送门 看似高精而非高精乃是此题最大亮点. 边读边取模技能get~ #include<cstdio> #define ll long long #define mod 19260 ...
- webdriver访问各个浏览器驱动下载及安装
这里首先需要查看一下自己安装的selenium版本 查看步骤: windows系统打开cmd命令行输入:pip show selenium查看结果如下: 进入到selenium官网查看版本信息 sel ...
- 斐波那契数列的第N项
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1242 题目: 斐波那契数列的定义如下: F(0) = 0 ...
- swap和shm的区别
在使用docker的过程中,发现其有很多内存相关的命令,对其中的swap(交换内存)和shm(共享内存)尤其费解.于是查阅了一些资料,弄明白了二者的基本区别. swap 是一个文件,是使用硬盘空间的一 ...
- 未来京东真能成为中国第一大B2C电商平台吗?
2月10日,京东集团在北京举行2017年"科技引领未来"开年年会.在本届年会上,京东宣布全面向技术转型.京东集团CEO刘强东正式对外公布未来12年的战略:在以人工智能为 ...
- Python——2list和tuple类型
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- C++走向远洋——45(警察和厨师、UML)
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- Java2变量和运算符
课后作业:[必做题] 1√AB互换 已知a,b均是整型变量,写出将a,b两个变量中的值互换的程序.(知识点:变量和运算符综合应用) [必做题] package com.two; public clas ...