JAVA自学教程之IO流(三):缓冲区2 & 装饰设计模式



JAVA自学教程之IO流(三):缓冲区2 & 装饰设计模式。

一、模拟BufferedReader

自定义MyBuffereaReader

对于缓冲区而言,里面其实就是封装一个数组,对外提供方法对数组的操作,这些方法最终操作的都是数组的角标

原理:从源中取出数据存入缓冲区,再从缓冲区不断的取出数据,取完后,继续从源中继续取数据,进缓冲区,直至源中的数据取完,用-1做为结束标记

 

  1. import java.io.*;
  2. class MyBufferedReader {
  3. [......]

Read more

JAVA自学教程之 IO流(四)转换流



JAVA自学教程之 IO流(四)转换流。

一、键盘录入
System.out:标准输出设备,控制台
System.in:标准输入设备,键盘
输入演示
输入字符串遇到回车,打印,输入over,输入结束
PS:键盘的录入只读取一个字节,先将字节拼一个字符串,所以需要一个容器,再参与over的判断
[html] view plaincopy在CODE上查看代码片派生到我的代码片
import java.io.*;

public class Main
{
public static void main(String[] args) throws IOException {[......]

Read more

JAVA自学教程之IO流(五)流的操作基本规律

JAVA自学教程之IO流(五)流的操作基本规律。

转换流:

InputStreamReader:字节到字符的桥梁。解码

OutputStreamWriter:字符到字节的桥梁。编码

流的基本规律

1.明确源和汇

源:InputStream、Reader

汇:OutputStream、Writer

2.明确数据是否是纯文本数据

源:如果是,Reader,否,InputStream

汇:如果是,Writer,否,OutputStream

前两点明确后院,体系也就明确了

3.明确具体的设备

源设备:

硬盘:File[......]

Read more

JAVA自学教程之IO流(六)File对象

JAVA自学教程之IO流(六)File对象。

File类

用来给文件或者文件夹封装成对象

方便对文件与文件夹的属性信息进行操作

File对象可以作为参数传递给流的构造函数

一、构造函数和分隔符

 

  1. public static void FileDemo() {//构造函数演示
  2.     //可以将一个已存在或不存在的文件或目录封装成File对象
  3.     File file = new File(“d:\\a.txt”);
  4.     File file2 = ne[......]

Read more

JAVA自学教程之IO流(七)File对象练习 & Properties集合

JAVA自学教程之IO流(七)File对象练习 & Properties集合。

一、练习
深度遍历文件夹
深度遍历很自然而然想到递归,而递归就很自然的想到其实现的底层算法是栈
对指定目录下列出所有内容(包含子目录的内容)
PS:建议不要遍历C盘
[html] view plaincopy在CODE上查看代码片派生到我的代码片
import java.io.*;

public class Main
{
public static void main(String[] args) throws IOException {

File dir = new Fi[......]

Read more

JAVA自学教程之IO流(八)打印流 & 序列流

JAVA自学教程之IO流(八)打印流 & 序列流。

一、综合练习—文件清单列表

获取指定目录下,指定扩展名的文件(含子目录),并将这些文件的绝对路径写到一个文本文件中。也就是建立一个指定扩展名的文件列表

1.深度遍历

2.过滤器->容器

3.写入文件

 

  1. import java.util.List;
  2. import java.io.*;
  3. import java.util.ArrayList;
  4. public class Main
  5. {
  6.    [......]

Read more

JAVA自学教程之IO流(九)文件切割合成器实例源码

JAVA自学教程之IO流(九)文件切割合成器实例源码。

文件切割器

 

  1. private static final int SIZE = 1024 *1024;
  2.     public static void splitFile(File file) throws IOException{
  3.         //用读取流关联文件(不确定文件格式)
  4.         FileInputStream fis = new FileInputStream(file);//源是一个
  5. [......]

Read more

JAVA自学教程之IO流(十)对象的序列化和反序列化 & RandomAccessFile

JAVA自学教程之IO流(十)对象的序列化和反序列化 & RandomAccessFile。

操作对象

ObjectInputStream、ObjectOutputStream

被操作的对象需要实现Serializable(标记接口)

ObjectOutputStream 将 Java 对象的基本数据类型和图形写入 OutputStream。可以使用 ObjectInputStream 读取(重构)对象。通过在流中使用文件可以实现对象的持久存储。如果流是网络套接字流,则可以在另一台主机上或另一个进程中重构对象。

 

对象的默认序列化机制写入[......]

Read more

JAVA自学教程之IO流(十一)

JAVA自学教程之IO流(十一)

一、管道流

PipedInputStream 和 PipedOutPutStream

输入和输出可以直接进行连接,结合线程使用

管道流,顾名思义,写一个读一个,连成一个管子

API文档:管道输入流应该连接到管道输出流;管道输入流提供要写入管道输出流的所有数据字节。通常,数据由某个线程从 PipedInputStream 对象读取,并由其他线程将其写入到相应的 PipedOutputStream。不建议对这两个对象尝试使用单个线程,因为这样可能死锁线程。管道输入流包含一个缓冲区,可在缓冲区限定的范围内将读操作和写操作分离开。如果向连[......]

Read more

JAVA自学教程之GUI

JAVA自学教程之GUI。

GUI
Graghical User Interface(图形用户接口)
java为GUI提供的对象都存在java.awt和java.swing包中

Java的GUI做的的确干不过C++等,不打算浪费过多的时间在这上面
一个简单的窗体演示
[java] view plaincopy在CODE上查看代码片派生到我的代码片
public static void main(String[] args){

Frame f = new Frame(“新窗体”);
f.setLocation(400, 200);//设置窗体的位置

f.set[......]

Read more