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是所有字节输入 ...
随机推荐
- Trailing Zeroes (III) LightOJ - 1138 二分+找规律
Time Limit: 2 second(s) Memory Limit: 32 MB You task is to find minimal natural number N, so that N! ...
- FastJson的学习之JSON互相转Map集合,List集合,JavaBean
https://blog.csdn.net/weixin_36910300/article/details/79182120 创建两个实体类 一个是部门类,一个是部门员工类 部门员工类 public ...
- 吴裕雄--python学习笔记:sqlite3 模块的使用与学生信息管理系统
import sqlite3 cx = sqlite3.connect('E:\\student3.db') cx.execute( '''CREATE TABLE StudentTable( ID ...
- centos7开启ntp并同步时间到指定时区
前提:近期公司都是使用的直接对外的云服务器,在登上服务器后用date命令查看新服务器的时间,发现并不是标准时间,于是需要做时间同步.我这里讲的是能连接外网的情况下,在服务器不多的情况下是否此方法,大型 ...
- OPPO招聘-互联网测试
邮 箱:ljy@oppo.com 工作地点:深圳
- 【自己的下载平台】搭建aria2网站
前言 本文章将带你搭建一个自己的服务器下载平台:aria2,它的用途是什么? 下载用途 百度网盘 普通文件 迅雷种子 等等 准备工具 服务器连接软件xshell或者putty 一台服务器 安装宝塔面板 ...
- CSS——NO.8(代码简写)
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- Ueditor富文本编辑器--Ctrl V 粘贴后原有图片显示错误
最近负责将公司官网从静态网站改版成动态网站,方便公司推广营销人员修改增加文案,避免官网文案维护过于依赖技术人员.在做后台管理系统时用到了富文本编辑器Ueditor,因为公司有一个阿里云文件资源服务器, ...
- python fake_useragent模块 user-agent的获取
1. UserAgent 模块使用 from fake_useragent import UserAgent ua = UserAgent() # 实例化,实例化时需要联网但是网站不太稳定 print ...
- [Abp vNext 源码分析] - 19. 多租户
一.简介 ABP vNext 原生支持多租户体系,可以让开发人员快速地基于框架开发 SaaS 系统.ABP vNext 实现多租户的思路也非常简单,通过一个 TenantId 来分割各个租户的数据,并 ...