从零开始学Java之IO字符流懒人模式(自动生成属性类,方法类,界面类)

平时做一个项目都要建很多的属性类,方法类和View类,学了IO流之后想了一种办法,就是自己写一串代码,然后在文本文档里写class <类名>加上所有的属性,然后运行一下代码就自动生成了一个  <类名>.java   文件。用myeclipse打开就可以了。同样的道理,你写一个只有   class <类名> 的txt文本文档
 点一下另一段代码就自动生成了一个方法类,里面带有增删改查四个简单方法的方法类,还有一个View类。

首先说一下,生成属性类的这段代码:

package com.jereh.Generate;

import java.io.*;
import java.util.*;

public class Generate1 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		FileReader fr     = null;
		BufferedReader br = null;
		FileWriter fw     = null;
		BufferedWriter bw = null;
		int i=0;
        File file1 = new File("E:\\IO\\原始\\1.txt");
        File file2 = null;
        try {
        	StringBuffer sbff = new StringBuffer();
			fr = new FileReader(file1);
			br = new BufferedReader(fr);
			String next;

			while(!((next = br.readLine())==null)){
				if(i==0){
					sbff.append("public ");
					sbff.append(next);
					sbff.append("{\r\n");
					String[] a = next.split(" ");
					 file2 = new File("E:\\IO\\生成\\"+a[1]+".java");

				}else{
					sbff.append("    private ");
				    sbff.append(next+"\r\n");
				}

				i++;
			}
			sbff.append("}");
			fw = new FileWriter(file2);
			bw = new BufferedWriter(fw);
			bw.write(sbff.toString());

		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			try {
				br.close();
				bw.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		}

	}

}

然后是生成方法类的代码:

<span style="font-size:18px;">package com.jereh.Generate;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class Generate2 {
	public static void main(String[] args){

		FileReader fr     = null;
		BufferedReader br = null;
		FileWriter fw     = null;
		BufferedWriter bw = null;
		StringBuffer sbff = new StringBuffer();
		int i=0;
        File file1 = new File("E:\\IO\\原始\\2.txt");
        File file2 = null;
        try {
			fr = new FileReader(file1);
			br = new BufferedReader(fr);
			String next;
			while(!((next = br.readLine())==null)){
				if(i==0){
					String[] a = next.split(" ");
					file2 = new File("E:\\IO\\生成\\"+a[1]+".java");
					sbff.append("public ");
					sbff.append(next);
					sbff.append("{\r\n");

				}
				i++;
			}
			sbff.append("\t public void add(){}\r\n");
			sbff.append("\t public void delete(){}\r\n");
			sbff.append("\t public void update(){}\r\n");
			sbff.append("\t public void search(){}\r\n");
			sbff.append("}");
			fw = new FileWriter(file2);
			bw = new BufferedWriter(fw);
			bw.write(sbff.toString());
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			try {
				br.close();
				bw.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}

	}

}</span>

最后是生成View界面的代码:

<span style="font-size:18px;">package com.jereh.Generate;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class Generate3 {
	public static void main(String[] args){

		FileReader fr     = null;
		BufferedReader br = null;
		FileWriter fw     = null;
		BufferedWriter bw = null;
		StringBuffer sbff = new StringBuffer();
		int i=0;
        File file1 = new File("E:\\IO\\原始\\3.txt");
        File file2 = null;
        try {
			fr = new FileReader(file1);
			br = new BufferedReader(fr);
			String next;
			while(!((next = br.readLine())==null)){
				if(i==0){
					String[] a = next.split(" ");
					file2 = new File("E:\\IO\\生成\\"+a[1]+".java");
					sbff.append("public ");
					sbff.append(next);
					sbff.append("{\r\n");

				}
				i++;
			}
			sbff.append("\t public void addView(){}\r\n");
			sbff.append("\t public void deleteView(){}\r\n");
			sbff.append("\t public void updateView(){}\r\n");
			sbff.append("\t public void searchView(){}\r\n");
			sbff.append("\t public void main(){\r\n");
			sbff.append("\t \t System.out.println();\r\n");
			sbff.append("\t \t System.out.println();\r\n");
			sbff.append("\t \t System.out.println();\r\n");
			sbff.append("\t \t System.out.println();\r\n");
			sbff.append("\t \t System.out.println();\r\n");
			sbff.append("\t \t int i = input.nextInt();\r\n");
			sbff.append("\t \t switch(i){\r\n");
			sbff.append("\t \t case 1:\r\n");
			sbff.append("\t \t    addView();\r\n");
			sbff.append("\t \t     break;\r\n");
			sbff.append("\t \t case 2:\r\n");
			sbff.append("\t \t    deleteView();{\r\n");
			sbff.append("\t \t     break;\r\n");
			sbff.append("\t \t case 3:\r\n");
			sbff.append("\t \t    updateView();{\r\n");
			sbff.append("\t \t     break;\r\n");
			sbff.append("\t \t case 4:\r\n");
			sbff.append("\t \t    searchView();{\r\n");
			sbff.append("\t \t     break;\r\n");
			sbff.append("\t \t default:\r\n");
			sbff.append("\t \t     break;{\r\n");
			sbff.append("\t \t}\r\n");
			sbff.append("\t }\r\n");
			sbff.append("}");
			fw = new FileWriter(file2);
			bw = new BufferedWriter(fw);
			bw.write(sbff.toString());
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			try {
				br.close();
				bw.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}

	}

}
</span>

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-25 05:42:43

从零开始学Java之IO字符流懒人模式(自动生成属性类,方法类,界面类)的相关文章

java之IO字符流

1.转换流的引入 在项目中新建了一个a.txt的文件,内容是 hello中国.我现在用字节输入流来读取并输出到控制台.当然复制文件是没有问题的啦.编码是utf-8. package cn; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; public class FileInputStreamDemo1 { public static void main(String[

《从零开始学Swift》学习笔记(Day 50)——扩展计算属性、方法

原创文章,欢迎转载.转载请注明:关东升的博客 可以在原始类型上扩展计算属性,包括实例计算属性和静态计算属性.添加计算属性的定义,与普通的计算属性的定义是一样的. 实例计算属性示例:在网络编程时,为了减少流量,从服务器端返回的不是信息描述,而是编码,然后在本地再将编码转换为描述信息.为此定义了如下Int类型扩展: extension Int {              //定义Int类型的扩展     var errorMessage : String {   //只读计算属性         

java 字节流和字符流转换类InputStreamReader,OutPutStreamReader

import java.io.*; public class BufferDemo { public static void main(String[] args) throws IOException { BufferedReader buf=null; buf=new BufferedReader(new InputStreamReader(System.in)); System.out.print("Please enter a number:"); String str=buf

从零开始学java之出入门卫管理系统(三)

  这个系统包含了四块,第一块就是人员管理,经理分配三位分别有"ABC"权限的人,分别管理请假申请,请假审批,门卫登记管理.同时不属于本公司的内部人员,如别的公司的人员如果想到本公司访问,也是先通过这"ABC"权限的三个人代为写来访申请,来访审批,来访门卫登记管理.     具体步骤如下:     因为后面都会用到很多相同的方法,和相同的属性,所以我先建立了两个接口让后面的方法类和属性类都实现这两个接口,这样就降低了耦合度.     从零开始学Java之出入门卫管理

java 字节流和字符流的区别 转载

转载自:http://blog.csdn.net/cynhafa/article/details/6882061 java 字节流和字符流的区别 字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢?实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如图12-6所示. 下面以两个写文件的操作为主进行比较,但是在操作时字节流和字符流的操作完成之后都不关闭输出流.范例:使用字节流不关闭执行 Java

芯学苑:浅析Java字节流和字符流

1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个"流动的方向",通常可以从中读入一个字节序列的对象被称为输入流;能够向其写入一个字节序列的对象被称为输出流. 2. 字节流 Java中的字节流处理的最基本单位为单个字节,它通常用来处理二进制数据.Java中最基本的两个字节流类是InputStream和OutputStream,它们分别代表了组基本的输入字节流和输出字节流.Inpu

小白学Java:I/O流

目录 小白学Java:I/O流 基本分类 发展史 文件字符流 输出的基本结构 流中的异常处理 异常处理新方式 读取的基本结构 运用输入与输出 文件字节流 缓冲流 字符缓冲流 装饰设计模式 转换流(适配器) 适配器设计模式 标准流/系统流 标准流分类 打印流 合并流 序列化/反序列化流 序列化对象 小白学Java:I/O流 流,表示任何有能力产生数据的数据源对象或者是有能力接收数据的接收端对象,它屏蔽了实际的I/O设备中处理数据的细节. 基本分类 根据方向 输入流:数据从外部流向程序,例如从文件中

如何从零开始学Java编程

Java语言的学习开始,很多同学不知道从哪入手?如果你也想知道如何从零开始学Java?怎样学Java最有效? 虽然Java面象对象很多东西都是被封装好的直接用,相对其他语言没那么复杂,但是学的东西也没有那么的so easy,总之如果你是真想做开发,就先沉下心用心把基础打好,不要先老想着因为软件行业有市场,所以要进来分一杯羹的这种急躁心态. 另外,在编程这个行业,技术更新速度快,所以一定要具备相应的自学能力及自学意识,不然即使现在入职了Java相关的工作,不主动学习的话,说不定几年后你就跟不上技术

从零开始学Java之出入门卫管理(二)

    这个系统包含了四块,第一块就是人员管理,经理分配三位分别有"ABC"权限的人,分别管理请假申请,请假审批,门卫登记管理.同时不属于本公司的内部人员,如别的公司的人员如果想到本公司访问,也是先通过这"ABC"权限的三个人代为写来访申请,来访审批,来访门卫登记管理.     具体步骤如下:     因为后面都会用到很多相同的方法,和相同的属性,所以我先建立了两个接口让后面的方法类和属性类都实现这两个接口,这样就降低了耦合度.     从零开始学Java之出入门卫