关于自己臆想的一个简单的玩具代码

原创 2015年07月09日 22:57:24

臆想内容

①,有一个Tes.xml文件,里面的内容是这样的

<?xml version="1.0" encoding="UTF-8"?>
<person>
    <emp>
        <name>"张三"</name>
        <age>"18"</age>
        <sex>"男"</sex>
    </emp>
</person>

②,还有一个TextClient.xml文件,里面的内容是这样的

<?xml version="1.0" encoding="UTF-8"?>
<person>
    <name>name.txt</name>   
</person>

③我现在想将新建一个TXT文件,以2中t提取出来的name.tx作为文件名,以1中提取出来的内容作为内容写进新建的文件夹


现在是具体的代码实现

1,会出现的一个属性,就是准备的新建的那个文件名

2,在构造方法中,我先进行文件配置,在进行初始化操作,这样做的好处是不会吧内容写死,如果改直接在配置文件中改动,无需改动代码

3,在这个代码中,主方法中就写了个start。这样的话,代码看起来比较清晰。不是全部往主方法中死里写

4,我是按这个顺序写的。先构造框架写好,然后start框架写好,然后main写好。在然后就是配置文件,初始化,获取文件内容


public class TextClient {
    private File name;    
    public TextClient() throws Exception{
        Map<String,String> getInfo=clientInfo();//配置文件        
        init(getInfo);//初始化属性
    }
    private void init(Map<String,String> getInfo){//创建一个初始化属性的方法
        name=new File(getInfo.get("name"));    
    }    
    
    public List<String> tesInfo() throws Exception{//获取Tes.xml中的内容,,如何用Sax解析已经在前一篇介绍过了
        SAXReader re=new SAXReader();
        Document doc=re.read("Tes.xml");
        Element root=doc.getRootElement();
        List<Element> list=root.elements();   //
        List<String> p=new ArrayList<String>();
        for(Element e:list){
            String name=e.elementText("name");
            String age=e.elementText("age");
            String sex=e.elementText("sex");
            p.add(name);
            p.add(age);
            p.add(sex);
        }    
        return p;
    }
    private Map<String,String> clientInfo()throws Exception{//获取Textclient.xml中的信息
        Map<String,String> info=new HashMap<String,String>();
        SAXReader sr=new SAXReader();
        Document doc=sr.read("TextClient.xml");
        Element root=doc.getRootElement();
        List<Element> list=root.elements();
        for(Element e:list){
            String    key=e.getName();
            String value=e.getText();
            info.put(key, value);
        }
        return info;
    }
    public static void creatFile(List<String> list,File file){//创建文件,并且写入内容
        PrintWriter pw=null;
        try {
            pw = new PrintWriter(file);
            pw.println(list);
        } catch (FileNotFoundException e) {            
            e.printStackTrace();
        }    finally{
            pw.close();
        }
    }    
    public void start() throws Exception{//启动程序
        creatFile(tesInfo(),name);
    }    
    public static void main(String[] args) {//主方法    
        try {
            TextClient tc = new TextClient();
            tc.start();
        } catch (Exception e) {            
            e.printStackTrace();
        }    
    }
}




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

相关文章推荐

这是我在公司自己写的一个小项目模仿的一个互帮派APP后面那些我也没有时间完善希望希望的朋友帮我完善后面那些

这是我在公司自己写的一个小项目模仿的一个互帮派APP后面那些我也没有时间完善希望希望的朋友帮我完善后面那些如果不知道互帮派是什么可以在百度手机助手搜索 代码太多我就不发了直接上图 源代码下载地址:...

程序员对自己的要求,决定他自己的高度。

我出身平庸,学业平庸,初任单位平庸,就技术讲,我同事技术平庸。OK,但是我始终保持着思想的不平庸。 在开发过程中,我会去思考,如何写出来的代码更漂亮,规范,低耦合性,易懂,好维护。至于如何优化内存等比...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

dtree的一个简单的POJO树

var deptTree = new dTree('deptTree','/js/dtree/images/system/dept/'); deptTree.config.folderLink...

写一个简单的shell命令解释器

目前只可以实现一些基本的命令。

关于protocol buffers的简单说明

关于protocol buffers的简单说明 protocol buffers是什么? Protocol buffers是一个灵活、高效、可以序列化结构数据的自动化机制,这一点和XML很像,但是...

android studio快捷键。。。。。

Alt+回车 导入包,自动修正 Shift+F6  重构-重命名 Ctrl+Shift+先上键 Ctrl+Y 删除行(ctrl+x不是删除行,是剪切。如果不选中,则为剪切当行。ths for...

1.2 一段简单的OpenGL程序

这一节给了一段OpenGL程序,但是这段程序是用伪代码写的,不能直接运行。后来在1.6节找到了可以直接运行的程序。 #include void display() { glBegin(GL_PO...

关于js闭包自己的理解

假设有A函数和B函数,A潜逃了B函数,也就是B函数载A函数的函数体内,那么载A函数定义的变量,B函数是可以看见的,也就是说B函数是可以引用A函数中定义的变量的。反之,则不行,我们用代码来解释一下fun...
  • oryjk
  • oryjk
  • 2015-05-26 12:02
  • 399

简单的分享自己最近的一些项目,有机会详细说下的哦

分享自己的一些项目内容和心得,很多时候,自己做项目,如果不自己总结一下,时间过了,就会忘记的,所以,我现在是简单的说下,以后有机会就会详细的说哦。 微汇: 主要是针对互联网办公而开发的一款以事件...

这里自己写一个关于ajax简单的异步吧

用ajax进行异步提交,后台处理,无刷新提交,局部刷新显示
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)