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是所有字节输入 ...
随机推荐
- Spring Boot 集成 Spring Security
1.添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...
- C++中字符串的表示与转换
转换总结 1.char*转string:可以直接赋值. 2.char[]转string:可以直接赋值. 3.char*转char[]:不能直接赋值,可以循环char*字符串逐个字符赋值,也可以使用st ...
- vue基础指令了解补充及组件介绍
v-once指令 """ v-once:单独使用,限制的标签内容一旦赋值,便不可被动更改(如果是输入框,可以主动修改) """ <di ...
- Pygame相关
pygame是主要构筑在SDL库基础上的一组Python模块的集合,它使我们能够用Python语言来创建功能完整的游戏和多媒体程序.pygame是高度括平台可移植的,在任何SDL支持的平台上都可以运行 ...
- Mysql锁和死锁分析
在MySQL中,行级锁并不是直接锁记录,而是锁索引.索引分为主键索引和非主键索引两种,如果一条sql语句操作了主键索引,MySQL就会锁定这条主键索引;如果一条语句操作了非主键索引,MySQL会先锁定 ...
- PHP创建缓存文件
文件操作类 <?php /** 文件操作类 */ class FileIO { /** * 读取目录 * @param string $dirPath dir名称 * @return array ...
- Angular总结
angular关键核心点进行总结 1 2 angular中有很多知识点需要学习,学习成本是很大的,我通过平常开发中把一些 很重要知识点总结下来,不管是以后拿来用,或者跳槽面试需要,我都感觉是很有帮助的 ...
- Pandorabox固件路由器上申请Let's Encrypt证书,为内网里的多个web服务提供SSL支持
对于家中宽带有公网IP的用户,有时我们需要将路由器内部网络的某些web服务通过端口转发暴露到外网(例如NAS远程访问),但HTTP是明文传输,有被监听的风险:如果在NAS上使用自签名证书,再端口转发, ...
- Ajax&Json案例
案例: * 校验用户名是否存在 1. 服务器响应的数据,在客户端使用时,要想当做json数据格式使用.有两种解决方案: 1. $.get(type):将最后一个参数type指定为"json& ...
- APPium+Python+iOS屏幕滑动方法对比
最近在学习appium自动化,对iOS手机进行滑动操作进行总结: 1.mobile:scroll;该方法在实际使用调用时,会滚动2次.执行时间很长. 向下滚动整个屏幕driver.execute_sc ...