您的位置:首页 > 编程语言 > Java开发

java-字节流练习(新手用于记录每天的作业)

2019-03-25 20:34 381 查看
版权声明:Java_Wcc原创。(可搜索博客园:浪子。) https://blog.csdn.net/Java_Wcc/article/details/89267372

java-字节流练习(新手用于记录每天的作业)

参考手册:

 

关键字:

FileInputStream()  Input是从硬盘到内存
FileOutputStream() 而output是从内存到硬盘,所以实现了复制粘贴。
read()  调用方法读取
\r\n 换行
实例:
1 import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils;
2
3 import java.io.*;
4
5 public class ZJLlx {
6     public static void main(String[] args) throws IOException {
7         lx6();
8     }
9
10     private static void lx6() {
11         //currentTimeMillis 返回以毫秒为单位的当前时间。
12         //计算开始时间。
13         long s = System.currentTimeMillis();
14         FileInputStream fis = null;
15         FileOutputStream fos = null;
16         try {
17             fis = new FileInputStream("C:\\bxd.AVI");
18             fos = new FileOutputStream("D:\\bxd.AVI");
19             //创建一个字节数组,他的字节传输速度是1024*10。
20             byte[] b = new byte[1024*10];
21             //定义一个数据类型。
22             int len = 0;
23             //写入判断语句。按照字节数组的传输速度进行传送。
24             while ((len=fis.read(b))!=-1){
25                 //按照b的速度,从0开始,一直到结束。
26                 fos.write(b,0,len);
27             }
28         } catch (IOException e) {
29             e.printStackTrace();
30         }
31         //最终执行的代码段。
32         finally {
33             //判断是否执行,如果执行过之后就结束释放资源。
34             //如果没有执行过,就跳过If语句。
35             if (fis!=null){
36                 try {
37                     fis.close();
38                 } catch (IOException e) {
39                     e.printStackTrace();
40                 } finally{
41                     if (fos!=null){
42                         try {
43                             fos.close();
44                         } catch (IOException e) {
45                             e.printStackTrace();
46                         }
47                     }
48                 }
49             }
50             //计算结束时间。
51             long e = System.currentTimeMillis();
52             //打印。
53             System.out.println(e-s);
54         }
55     }
56
57     private static void lx5() {
58         //设置对象。
59         FileInputStream fis = null;
60         FileOutputStream fos = null;
61         try {
62             //指定要复制的文件及路径。Input是从硬盘到内存。
63             fis = new FileInputStream("C:\\ja.txt");
64             //指定要粘贴的文件及路径。而output是从内存到硬盘,所以实现了复制粘贴。
65             fos = new FileOutputStream("D:\\ja.txt");
66             //定义一个数据类型。
67             int len = 0;
68             //定义判断条件。
69             while ((len = fis.read())!=-1){
70                 fos.write(len);
71             }
72         } catch (IOException e) {
73             e.printStackTrace();
74         }
75         //最终执行的代码段。
76         finally {
77             //判断是否执行,如果执行过之后就结束释放资源。
78             //如果没有执行过,就跳过If语句。
79             if(fos!=null){
80                 try {
81                     fos.close();
82                 } catch (IOException e) {
83                     e.printStackTrace();
84                 }
85                 //最终执行的代码段。
86                 finally {
87                     //判断是否执行,如果执行过之后就结束释放资源。
88                     //如果没有执行过,就跳过If语句,不进行判断。
89                     if (fis!=null){
90                         try {
91                             fis.close();
92                         } catch (IOException e) {
93                             throw new RuntimeException("释放资源失败。");
94                         }
95                     }
96                 }
97             }
98         }
99     }
100
101     public static void lx4() {
102         //FileInputStream 从硬盘到内存,进行显示。
103         try {
104             FileInputStream fis = new FileInputStream("D:\\ja.txt");
105             byte[] b = new byte[1024];
106             int len = 0;
107             while ((len = fis.read(b))!=-1){
108                 System.out.println(new String(b,0,len));
109             }
110         } catch (IOException e) {
111             e.printStackTrace();
112         }
113
114     }
115
116     public static void lx3() {
117         //读写指定文件的内容。
118         //调用方法读取 read
119         try {
120             FileInputStream fis = new FileInputStream("D:\\ja.txt");
121             int len = 0;
122             while((len=fis.read())!=-1){
123                 System.out.println((char)len);
124             }
125         } catch (IOException e) {
126             e.printStackTrace();
127         }
128
129     }
130
131     private static void lx2() throws IOException {
132         //FileOutputStream 从内存写入到硬盘,但是不会在控制台显示。
133         File file = new File("D:\\ja.txt");
134         FileOutputStream fos = new FileOutputStream(file,true);
135         fos.write("Hello \r\n".getBytes());
136         fos.write("\r\nqy\r\n97".getBytes());
137         fos.close();
138     }
139
140     public static void lx1() throws IOException {
141         FileOutputStream fos = new FileOutputStream("D:\\ja.txt");
142         fos.write(97);
143         byte[] b = {66,9,45,12,48};
144         fos.write(b,1,4);
145         fos.write("Show Arrays".getBytes());
146         fos.close();
147     }
148
149 }

 

打印结果:

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:

 

posted @ 2019-03-25 20:34 浪子。 阅读(...) 评论(...) 编辑 收藏
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐