摘要:
先来看一下流的概念:在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。字节流与字符流在java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。在字节流中输出数据主要是使用OutputStream完成,输入使的是InputStream,在字符流中输出主要是使用Writer类完成,输入流主要使用Reader类完成。(这四个都是抽象类)操作流程在Java中IO操作也是有相应步骤的,以文件操作为例,主要的 阅读全文
摘要:
之前的File类只是针对文件本身进行操作的,而如果相对文件内容进行操作,则可以使用RandomAccessFile类,此类属于随即读取类,可以随机的读取一个文件中指定位置的数据。因为在文件中,所有得内容都是按照字节存放的,都有固定的保存位置。构造函数:public RandomAccessFile(File file,String mode)throws FileNotFoundException实例化此类的时候需要传递File类。告诉程序应该操作的是哪个文件,之后有个模式,文件的打开模式,常用的两种模式:r:读w:写rw:读写,如果使用此模式,如果文件不存在,则会自动创建先写信息: 1 im 阅读全文
摘要:
在整个IO包了,唯一表示与文件本身有关的类就是File类。使用File类可以进行1创建或删除文件等常用操作。要想使用File类。则首先要观察File类的构造方法,此类的常用构造方法如下所示:public File(String pathname) 实例化File类的时候,必须设置好路径No.方法或常量类型描述1public static final String pathSeparator常量表示路径的分隔符(windows是“;”)2public static final String separator常量表示路径的分隔符(windows是“\”)3public File(String p 阅读全文
摘要:
<action name="helloworld" class="com.jim.action.HelloWorldAction" method="execute" > <result name="success">/WEB-INF/page/hello.jsp</result> </action>result配置类似于struts1中的forward,但struts2中提供了多种结果类型,常用的类型有: dispatcher(默认值)、 redirect 、 red 阅读全文
摘要:
假设我们的访问地址为:http://localhost:8080/struts2/test/helloworld,那么改成http://localhost:8080/structs2/test/sdf/sfs/aaa/helloworld 还能访问到吗?答案是YES很奇怪,为什么呢?让我们来看一下Action名称的搜索顺序1.获得请求路径的URI,例如url是:http://server/struts2/path1/path2/path3/test.action2.首先寻找namespace为/path1/path2/path3的package,如果不存在这个package则执行步骤3;如果存 阅读全文
摘要:
在默认的配置文件struts.xml 中加入如下配置:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"><struts> <package name="jim" 阅读全文
摘要:
将抽象化与实现化脱耦,使得二者可以独立的变化,也就是说将他们之间的强关联变成弱关联,也就是指在一个软件系统的抽象化和实现化之间使用组合/聚合关系而不是继承关系,从而使两者可以独立的变化。例子:比如你要做山寨产品,更新一定要快,什么流行生产什么,但工厂还是那个工厂。 1 abstract class Product{ 2 public abstract void beforeProducted(); 3 public abstract void beforeSelled(); 4 } 5 6 class House extends Product{ 7 @Overrid... 阅读全文
摘要:
把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口原因不匹配而无法一起工作的两个类能够一起工作。适配类可以根据参数返回一个合适的实例给客户端。 1 interface ICar{ 2 public void startCar(); 3 public void stopCar(); 4 public void fixCar(); 5 } 6 7 class CarAdapter implements ICar{ 8 public void fixCar() {} 9 public void startCar() {}10 public... 阅读全文
摘要:
单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例单例模式。单例模式只应在有真正的“单一实例”的需求时才可使用。 1 class Singleton { 2 private static Singleton sing; 3 4 private Singleton() { 5 } 6 7 public static Singleton getInstance() { 8 if (sing == null) { 9 sing = new Singleton();10 }11 ... 阅读全文
摘要:
通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的方法创建出更多同类型的对象。原始模型模式允许动态的增加或减少产品类,产品类不需要非得有任何事先确定的等级结构,原始模型模式适用于任何的等级结构。缺点是每一个类都必须配备一个克隆方法。例子:跟MM用QQ聊天,一定要说些深情的话语了,我搜集了好多肉麻的情话,需要时只要copy出来放到QQ里面就行了,这就是我的情话prototype了。 1 class Prototype implements Cloneable{ 2 private String name; 3 public String getName() ... 阅读全文