
Java
文章平均质量分 68
sinat_37580076
这个作者很懒,什么都没留下…
展开
-
IO流——转换流InputStreamReader、OutputStreamWriter
/*字符流:FileReaderFileWriter。BufferedReaderBufferedWriter字节流:FileInputStreamFileOutputStreamBufferedInputStreamBufferedOutputStream通过刚才的键盘录入一行数据并打印其大写,发现其实就是读一行数据的原理。也就是readLine方法。能不转载 2017-08-07 23:45:39 · 304 阅读 · 0 评论 -
IO流——对象的序列化
import java.io.*;class ObjectStreamDemo { public static void main(String[] args) throws Exception { //writeObj(); readObj(); } public static void readObj()throws Exception { ObjectInputS转载 2017-08-09 09:31:35 · 213 阅读 · 0 评论 -
IO流——管道流
import java.io.*;class Read implements Runnable{ private PipedInputStream in; Read(PipedInputStream in) { this.in = in; } public void run() { try { byte[] buf = new byte[1024]; S转载 2017-08-09 09:44:24 · 202 阅读 · 0 评论 -
IO流——RandomAccessFile
import java.io.*;/*RandomAccessFile该类不是算是IO体系中子类。而是直接继承自Object。但是它是IO包中成员。因为它具备读和写功能。内部封装了一个数组,而且通过指针对数组的元素进行操作。可以通过getFilePointer获取指针位置,同时可以通过seek改变指针的位置。其实完成读写的原理就是内部封装了字节输入流和输出流。通过转载 2017-08-09 10:19:10 · 206 阅读 · 0 评论 -
IO流——基本数据类型的流对象DataStream
/*DataInputStream与DataOutputStream可以用于操作基本数据类型的数据的流对象。*/import java.io.*;class DataStreamDemo { public static void main(String[] args) throws IOException { //writeData(); //readData();转载 2017-08-09 10:35:02 · 223 阅读 · 0 评论 -
IO流——操作字节数组ByteArrayStream
/*用于操作字节数组的流对象。ByteArrayInputStream :在构造的时候,需要接收数据源,。而且数据源是一个字节数组。ByteArrayOutputStream: 在构造的时候,不用定义数据目的,因为该对象中已经内部封装了可变长度的字节数组。这就是数据目的地。因为这两个流对象都操作的数组,并没有使用系统资源。所以,不用进行close关闭。在流操作规律讲解时:转载 2017-08-09 10:44:03 · 347 阅读 · 0 评论 -
多线程——线程间通信{wait(); notifyAll();}
class ProducerConsumerDemo { public static void main(String[] args) { Resource r = new Resource(); Producer pro = new Producer(r); Consumer con = new Consumer(r); Thread t1 = new Thread(转载 2017-07-25 10:20:13 · 175 阅读 · 0 评论 -
多线程——线程间通信{JDK1.5升级版 Lock;Conditon}
import java.util.concurrent.locks.*;class ProducerConsumerDemo2 { public static void main(String[] args) { Resource r = new Resource(); Producer pro = new Producer(r); Consumer con = new转载 2017-07-25 11:00:27 · 207 阅读 · 0 评论 -
多线程——停止和守护线程
/*stop方法已经过时。如何停止线程?只有一种,run方法结束。开启多线程运行,运行代码通常是循环结构。只要控制住循环,就可以让run方法结束,也就是线程结束。特殊情况:当线程处于了冻结状态。就不会读取到标记。那么线程就不会结束。当没有指定的方式让冻结的线程恢复到运行状态是,这时需要对冻结进行清除。强制让线程恢复到运行状态中来。这样就可以操作标记让线程结束。Th转载 2017-07-25 11:16:03 · 397 阅读 · 0 评论 -
多线程——线程练习
class ThreadTest { public static void main(String[] args) { new Thread() { public void run() { for(int x=0; x<100; x++) { System.out.println(Thread.currentThread().getNam原创 2017-07-25 11:43:38 · 195 阅读 · 0 评论 -
IO流——切割流
import java.io.*;import java.util.*;class SplitFile { public static void main(String[] args) throws IOException { //splitFile(); merge(); } public static void merge()throws IOException转载 2017-08-09 08:09:34 · 335 阅读 · 0 评论 -
IO流——合并流
import java.io.*;import java.util.*;class SequenceDemo { public static void main(String[] args) throws IOException { Vector v = new Vector(); v.add(new FileInputStream("c:\\1.txt")); v转载 2017-08-08 22:24:19 · 199 阅读 · 0 评论 -
面向对象——异常RuntimeException
/*Exceptoin中有一个特殊的子类异常RuntimeException 运行时异常。如果在函数内容抛出该异常,函数上可以不用声明,编译一样通过。如果在函数上声明了该异常。调用者可以不用进行处理。编译一样通过;之所以不用在函数声明,是因为不需要让调用者处理。当该异常发生,希望程序停止。因为在运行时,出现了无法继续运算的情况,希望停止程序后,对代码进行修正。自定义异常转载 2017-07-19 20:03:09 · 184 阅读 · 0 评论 -
面向对象——异常finally
/* finally代码块:定义一定执行的代码。 通常用于关闭资源。*/class FuShuException extends Exception{ FuShuException(String msg) { super(msg); }}class Demo{ int div(int a,int b)throws FuShuException { if(b<0转载 2017-07-19 20:14:21 · 216 阅读 · 0 评论 -
面向对象——异常总结
异常:是什么?是对问题的描述。将问题进行对象的封装。------------异常体系: Throwable |--Error |--Exception |--RuntimeException异常体系的特点:异常体系中的所有类以及建立的对象都具备可抛性。 也就是说可以被throw和throws关键字所操作。 只有异常体系具备这个特点。---------转载 2017-07-19 21:02:53 · 185 阅读 · 0 评论 -
IO流——记录异常信息、系统信息
import java.io.*;import java.util.*;import java.text.*;class ExceptionInfo{ public static void main(String[] args)throws IOException { try { int[] arr = new int[2]; System.out.printl转载 2017-08-08 09:49:42 · 246 阅读 · 0 评论 -
IO流——File类
import java.io.*;/*File类常见方法:1,创建。 boolean createNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返回false。 和输出流不一样,输出流对象一建立创建文件。而且文件已经存在,会覆盖。 boolean mkdir():创建文件夹。 boolean mkdirs():创建多级文件夹。2,删除。 bo转载 2017-08-08 10:47:22 · 154 阅读 · 0 评论 -
IO流——File类列出文件列表list() listFiles()
import java.io.*;class FileDemo2{ public static void main(String[] args) { File dir = new File("c:\\"); File[] files = dir.listFiles(); for(File f : files) { System.out.println(f.ge转载 2017-08-08 16:41:51 · 999 阅读 · 0 评论 -
IO流——File类(利用递归列出所有文件)
/*列出指定目录下文件或者文件夹,包含子目录中的内容。也就是列出指定目录下所有内容。因为目录中还有目录,只要使用同一个列出目录功能的函数完成即可。在列出过程中出现的还是目录的话,还可以再次调用本功能。也就是函数自身调用自身。这种表现形式,或者编程手法,称为递归。递归要注意:1,限定条件。2,要注意递归的次数。尽量避免内存溢出。*/import java.io转载 2017-08-08 16:50:09 · 351 阅读 · 0 评论 -
IO流——Properties类
/*Properties是hashtable的子类。也就是说它具备map集合的特点。而且它里面存储的键值对都是字符串。是集合中和IO技术相结合的集合容器。该对象的特点:可以用于键值对形式的配置文件。那么在加载数据时,需要数据有固定格式:键=值。练习:限制程序运行次数。当运行次数到达5次时,给出,请您注册的提示。并不再让该程序执行。*/import java.io.*转载 2017-08-08 19:59:25 · 245 阅读 · 0 评论 -
IO流——打印流(PrintWriter和PrintStream类)
/*打印流:该流提供了打印方法,可以将各种数据类型的数据都原样打印。字节打印流:PrintStream构造函数可以接收的参数类型:1,file对象。File2,字符串路径。String3,字节输出流。OutputStream字符打印流:PrintWriter构造函数可以接收的参数类型:1,file对象。File2,字符串路径。String3,字节输出流。Outp转载 2017-08-08 21:48:54 · 235 阅读 · 0 评论 -
集合框架——foreach语句
/*高级for循环格式:for(数据类型 变量名 : 被遍历的集合(Collection)或者数组){ }对集合进行遍历。只能获取集合元素。但是不能对集合进行操作。迭代器除了遍历,还可以进行remove集合中元素的动作。如果是用ListIterator,还可以在遍历过程中对集合进行增删改查的动作。传统for和高级for有什么区别呢?高级for有一个局限性。必须有被转载 2017-08-02 20:07:45 · 183 阅读 · 0 评论 -
集合框架——可变参数、静态导入
/*JDK1.5版本出现的新特性。方法的可变参数。在使用时注意:可变参数一定要定义在参数列表最后面。*/class ParamMethodDemo{ public static void main(String[] args) { //show(3,4); /* //虽然少定义了多个方法。 但是每次都要定义一个数组。作为实际参数。 int[] arr转载 2017-08-02 20:26:10 · 193 阅读 · 0 评论 -
GUI——鼠标和键盘事件
import java.awt.*;import java.awt.event.*;class MouseAndKeyEvent { private Frame f; private Button but; private TextField tf; MouseAndKeyEvent() { init(); } public void init() { f转载 2017-08-13 15:28:38 · 293 阅读 · 0 评论 -
GUI——练习(列出制定目录内容)
import java.awt.*;import java.awt.event.*;import java.io.*;class MyWindowDemo{ private Frame f; private TextField tf; private Button but; private TextArea ta; private Dialog d; private La原创 2017-08-13 15:44:08 · 285 阅读 · 0 评论 -
GUI——制作菜单
import java.awt.*;import java.awt.event.*;class MyMenuDemo { private Frame f; private MenuBar mb; private Menu m,subMenu; private MenuItem closeItem,subItem; MyMenuDemo() { init(); }转载 2017-08-13 16:16:24 · 558 阅读 · 0 评论 -
IO流——FileWriter
/*字符流和字节流:字节流两个基类:InputStream OutputStream字符流两个基类:Reader Writer先学习一下字符流的特点。既然IO流是用于操作数据的,那么数据的最常见体现形式是:文件。那么先以操作文件为主来演示。需求:在硬盘上,创建一个文件并写入一些文字数据。找到一个专门用于操作文件的Writer子类对象。FileWriter。转载 2017-08-06 10:39:57 · 199 阅读 · 0 评论 -
IO流——BufferedWriter和BufferedReader
/*缓冲区的出现是为了提高流的操作效率而出现的。所以在创建缓冲区之前,必须要先有流对象。该缓冲区中提供了一个跨平台的换行符。newLine();*/import java.io.*;class BufferedWriterDemo{ public static void main(String[] args) throws IOException { //创建一转载 2017-08-06 15:58:04 · 220 阅读 · 0 评论 -
IO流——装饰和继承的区别
/*装饰设计模式:当想要对已有的对象进行功能增强时,可以定义类,将已有对象传入,基于已有的功能,并提供加强功能。那么自定义的该类称为装饰类。装饰类通常会通过构造方法接收被装饰的对象。并基于被装饰的对象的功能,提供更强的功能。*/class Person{ public void chifan() { System.out.println("吃饭"); }}c转载 2017-08-06 16:40:56 · 221 阅读 · 0 评论 -
IO流——自定义装饰类
/*明白了BufferedReader类中特有方法readLine的原理后,可以自定义一个类中包含一个功能和readLine一致的方法。来模拟一下BufferedReader*/import java.io.*;class MyBufferedReader extends Reader{ private Reader r; MyBufferedReader(Reader r)转载 2017-08-06 16:48:52 · 234 阅读 · 0 评论 -
IO流——LineNumberReader
import java.io.*;class LineNumberReaderDemo { public static void main(String[] args)throws IOException { FileReader fr = new FileReader("PersonDemo.java"); LineNumberReader lnr = new LineNu转载 2017-08-06 16:54:30 · 214 阅读 · 0 评论 -
IO流——FileReader
文本文件读取方式一import java.io.*;class FileReaderDemo{ public static void main(String[] args) throws IOException { //创建一个文件读取流对象,和指定名称的文件相关联。 //要保证该文件是已经存在的,如果不存在,会发生异常FileNotFoundException File转载 2017-08-06 11:32:51 · 185 阅读 · 0 评论 -
IO流——各个类之间的关系
声明:本文为博主原创文章,未经博主允许不得转载。字节流:字符流:原创 2017-08-10 10:15:11 · 657 阅读 · 0 评论 -
集合框架——Vector中的枚举
import java.util.*;/*枚举就是Vector特有的取出方式。发现枚举和迭代器很像。其实枚举和迭代是一样的。因为枚举的名称以及方法的名称都过长。所以被迭代器取代了。枚举郁郁而终了。*/class VectorDemo { public static void main(String[] args) { Vector v = new Vecto转载 2017-07-27 21:30:54 · 242 阅读 · 0 评论 -
其他对象——System
/*System:类中的方法和属性都是静态的。out:标准输出,默认是控制台。in:标准输入,默认是键盘。描述系统一些信息。获取系统属性信息:Properties getProperties();*/import java.util.*;class SystemDemo { public static void main(String[] args) { Pro转载 2017-08-02 20:45:21 · 157 阅读 · 0 评论 -
其他对象——Runtime
/*Runtime对象该类并没有提供构造函数。说明不可以new对象。那么会直接想到该类中的方法都是静态的。发现该类中还有非静态方法。说明该类肯定会提供了方法获取本类对象。而且该方法是静态的,并返回值类型是本类类型。由这个特点可以看出该类使用了单例设计模式完成。该方式是static Runtime getRuntime();*/class RuntimeDemo{转载 2017-08-02 21:01:48 · 163 阅读 · 0 评论 -
String类——常见字符串操作指令
String 方法下面是 String 类支持的方法,更多详细,参看 Java String API 文档:SN(序号)方法描述1char charAt(int index)返回指定索引处的 char 值。2int compareTo(Object o)把这个字符串和另一个对象比较。3转载 2017-07-27 11:51:13 · 789 阅读 · 0 评论 -
GUI——事件监听机制
import java.awt.*;import java.awt.event.*;/*创建图形化界面:1,创建frame窗体。2,对窗体进行基本设置。 比如大小,位置,布局。3,定义组件。4,将组件通过窗体的add方法添加到窗体中。5,让窗体显示,通过setVisible(true)事件监听机制的特点:1,事件源。2,事件。3,监听器。4,事件处理。事件转载 2017-08-11 17:05:24 · 618 阅读 · 0 评论 -
GUI——Action事件
import java.awt.*;import java.awt.event.*;class FrameDemo{ //定义该图形中所需的组件的引用。 private Frame f; private Button but; FrameDemo() { init(); } public void init() { f = new Frame("my fr转载 2017-08-11 17:20:01 · 253 阅读 · 0 评论 -
StringBuffer类——常用方法
StringBuffer 方法以下是 StringBuffer 类支持的主要方法:序号方法描述1public StringBuffer append(String s)将指定的字符串追加到此字符序列。2public StringBuffer reverse() 将此字符序列用其反转形式取代。转载 2017-07-27 19:36:52 · 561 阅读 · 0 评论