java网络文件传输的实现

java网络文件传输的实现
java网络文件传输的实现

java网络文件传输的实现——Socket编程

本程序分为服务器和客户端两个小程序。

主要实现的功能是:

客户端向服务器端请求一个文件的传输连接,

服务器接收到请求命令后,要求客户端发送用户名和密码,

如果正确,就执行传输文件的过程,客户端接收完后,

保存到一个文件中并在屏幕上显示出来。

设计原理:

服务器端建立一个SocketServer等待客户端的连接,

每来一个客户端的请求连接,就创建一个新的线程对其进行单独服务,

然后继续等待其他的客户端的连接。

客户端向服务器发送文件传输请求,在服务器端要求鉴权时,

输入用户名和密码发送给服务器验证,如果验证通过就开始文件传输。

使用方法,如果需要重新编译的话输入以下两条命令:

javac SendFileSocket.java

javac SendFileClient.java

在命令行下的运行方式:

服务器端:

java SendFileSocket

客户端:

java SendFileClient serverIPAddress

例如:java SendFileClient 192.168.0.153

服务器程序:

public class SendFileSocket extends Thread

{

/**

* @param args

*/

public static void main(String[] args )

{

/*if ( args.length > 0 ) // 如果有参数输入就启动服务器程序 {

server( );

} else

{

// 否则启动客户端进程

client( );

}*/

server();//启动服务器程序

}

private static final int PORT= 6000;

private Socket s;

private static final String name="zieckey";

private static final String password ="123456";

public SendFileSocket(Socket s )

{

this.s = s;

}

public void run()

{

try

{

OutputStream os = s.getOutputStream();

InputStream is = s.getInputStream();

os.write("Hello,welcome you!".getBytes());

byte[] buf =new byte[100];

while( true )

{

int len = is.read( buf );

String revStr =new String( buf, 0, len );

System.out.println("This client wants to "+revStr );

String fileName;

if( revStr.startsWith("get "))//表明客户端请求传输一个文件

{

os.write("Please input your name and password! Using the format:name@password"

.getBytes());

fileName =getFileName( revStr );

len = is.read( buf );

revStr =new String( buf, 0, len );

System.out.println("The received user name and password:"+revStr);

if( revStr.startsWith("zieckey@123456"))

{

FileInputStream fins =new FileInputStream( fileName );

//byte[] fielBuf = new byte[100];

int data;

while(-1 !=( data = fins.read()))//从文件中读取数据,每次读取1字节

{

os.write( data );//将读取到的数据写到网络数据流中发送给客户段

}

break;

}

}else

{

os.write("geting file's usage is:get filename".getBytes());

}

}

os.close();

is.close();

s.close();

}catch(Exception e )

{

e.printStackTrace();

}

}

/*

* 作用:从客户端发来了文件请求命令中提取出所请求的文件名 * 参数:客户端发来了文件请求命令字符串,应该以“get ”开头 * 返回值:提取出所请求的文件名

*/

private String getFileName(String revStr )

{

String fileName;

fileName = revStr.substring( 3 );

while( fileName.startsWith(" "))

{

fileName = fileName.substring( 1 );

}

return fileName;

}

public static void server()

{

System.out.println("This is server");

try

{

ServerSocket ss =new ServerSocket(PORT);

int count= 0;

while( true )

{

// 创建一个Socket等待客户端连接

Socket s = ss.accept();

count++;

System.out.println("This is the "+count+"'st client connetion!");

new SendFileSocket( s ).start();// 启动一个线程为这个客户端服务

}

}catch(Exception ex )

{

ex.printStackTrace();

}

}

/*public static void client()

{

System.out.println( "This is client" );

try

{

// 创建一个Socket

Socket s = new Socket( InetAddress.getByName( null ), PORT );

OutputStream os = s.getOutputStream( );// 输出流

InputStream is = s.getInputStream( );// 输入流

byte[] buf = new byte[100];

int len = is.read( buf );// 从输入流中读取数据到buf

System.out.println( new String( buf, 0, len ) );

// 向输出流中写入数据,请求传输一个文件

os.write( "get server.txt".getBytes( ) );

len = is.read( buf );// 从输入流中读取数据到buf

String tempStr = new String(buf,0,len);

if ( tempStr.startsWith( "Please input your name and password" ) )

{

System.out.print("Please input your name and password, ");

System.out.print("Using the format:name@password:");

System.in.read( buf );

os.write( buf );

}

//开始读取文件数据并把它写到一个名为"clientread.txt"的文件中

FileOutputStream fos = new FileOutputStream( "clientread.txt" ); int data;

while ( -1 != ( data = is.read( ) ) )

{

fos.write( data );

}

System.out.println("\nFile has been recerved successfully.");

os.close( );

is.close( );

s.close( );

} catch ( Exception ex )

{

ex.printStackTrace( );

}

}*/

}

客户端程序:

import https://www.360docs.net/doc/7d2098407.html,.InetAddress;

import https://www.360docs.net/doc/7d2098407.html,.InetSocketAddress;

import https://www.360docs.net/doc/7d2098407.html,.Socket;

public class SendFileClient

{

private static final int Server_PORT = 6000;

private static final int Client_PORT = 6001;

/**

* 使用方法:运行这个程序需要带上参数,参数类型为点分十进制的ip地址,例如:192.168.0.153

* @param args

* @throws IOException

*/

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

{

// TODO Auto-generated method stub

System.out.println("This is client");

/*System.out.print("Please input your name and password, ");

System.out.print("Using the format:name@password:");

byte[] buf = new byte[100];

System.in.read( buf );*/

byte[] buf =new byte[100];

byte[]name=new byte[100];

//InetAddress inetAddr;

if(!isIPAddress(args[0]))

{

System.out.println("The usage is : java SendFileClient ipaddress");

System.out.println("For example : java SendFileClient 192.168.0.153");

return;

}

String ipStr = args[0];

try

{

// 创建一个Socket

Socket s =new Socket();

s.connect(new InetSocketAddress(ipStr , Server_PORT ), Client_PORT );

OutputStream os = s.getOutputStream();// 输出流

InputStream is = s.getInputStream();// 输入流

int len = is.read( buf );// 从输入流中读取数据到buf

System.out.println(new String( buf, 0, len ));

// 向输出流中写入数据,请求传输一个文件

os.write("get server.txt".getBytes());

len = is.read( buf );// 从输入流中读取数据到buf

String tempStr =new String(buf,0,len);

if( tempStr.startsWith("Please input your name and password"))

{

System.out.println("Please input your name and password, ");

System.out.println("Using the format:name@password:");

do

{

System.in.read(name);

}while(name.length<5 );

os.write(name);

}

//开始读取文件数据并把它写到一个名为"clientread.txt"的文件中

FileOutputStream fos =new FileOutputStream("clientread.txt");

int data;

while(-1 !=( data = is.read()))

{

fos.write( data );

}

System.out.println("\nFile has been recerved successfully.");

os.close();

is.close();

s.close();

}catch(Exception ex )

{

ex.printStackTrace();

}

职工管理系统java课程设计简单实现

目录 一、绪论 (1) 1.1关键技术介绍 (1) 1.1.1JAVA技术 (1) 1.1.2SQL数据库 (1) 二、需求分析 (2) 三、系统概要设计: (3) 3.1问题描述 (3) 3.2要求 (3) 3.3数据库设计 (3) 四、系统详细设计 (5) 4.1新员工信息录入 (5) 4.2显示员工信息 (7) 4.3修改员工信息 (8) 4.4查询员工信息 (10) 4.5删除员工信息 (13) 4.6员工信息排序 (15) 4.7员工信息统计 (16) 4.8注销 (17) 五、系统测试 (18) 5.1系统登录 (18) 5.2系统主界面.................................. 错误!未定义书签。 5.3新员工信息录入.............................. 错误!未定义书签。 5.4显示员工信息................................ 错误!未定义书签。 5.5修改员工信息................................ 错误!未定义书签。 5.6查询员工信息................................ 错误!未定义书签。 5.7删除员工信息................................ 错误!未定义书签。 5.8排列系统.................................... 错误!未定义书签。 5.9统计界面.................................... 错误!未定义书签。

5.10注销....................................... 错误!未定义书签。 六、总结 (19) 八、附录.......................................... 错误!未定义书签。

文件加密与解密—Java课程设计报告

JAVA课程设计题目:文件的加密与解密 姓名: 学号: 班级: 日期:

目录 一、设计思路 (3) 二、具体实现 (3) 三、运行调试与分析讨论 (8) 四、设计体会与小结 (11) 五、参考文献 (12) 六、附录 (12)

一、设计思路 自从Java技术出现以业,有关Java平台的安全性用由Java技术发展所引发的安全性问题,引起了越来越多的关注。目前,Java已经大量应用于各个领域,研究Java的安全性对于更好地利用Java具有深远的意义。使用Java的安全机制设计和实现安全系统更具有重要的应用价值。 本课程设计,主要实践Java安全中的JCE模块,包括密钥生成,Cipher对象初始化、加密模式、填充模式、底层算法参数传递,也涉及文件读写与对象输入输出流。 二、具体实现 本系统通过用户界面接收三个参数:明文文件、密文文件、口令。采用DES加密算法,密码分组链(Cipher Block Chaining,CBC)加密模式,PKCS#5-Padding的分组填充算法。因为CBC涉及到底层算法参数的解密密钥的传递,所以将明文文件中的字节块以密封对象(Sealed Object)的方式加密后,用对象流输出到密文文件,这样就将密文、算法参数、解密密钥三都密封到一个对象中了。口令的hash值作为产生密钥的参数。设计流程图如下所示: 文件加密与解密设计流程图

本系统中,包含Default,Shares,SecretKey,EncAndDec四个包共6个类组成。定义的几个参数:MAX_BUF_SIZE为每次从文件中读取的字节数,也是内存缓冲区的大小;加密算法为DES;加密模式是密码分组链(CBC)模式;分组填充方式是PKCS#5Padding。包和类结构图如下所示: 本课程设计,包和类结构图: 以下为包中的类的方法实现说明 Package Shares类结构图

JAVA课程设计银行管理系统

大连科技学院java程序设计课程设计(B) 题目银行取款管理系统 学生姓名姚伟奇专业班级计算机(Z)13-1 指导教师李红职称讲师 所在单位信息科学系软件工程教研室 教学部主任王立娟 完成日期 2016年9月30日 课程设计报告单

综合评定: (优、良、中、及格、不及格)指导教师签字:2016年9月30日《java程序设计课程设计(B)》任务书 一、课程设计任务及要求: 任务:针对小型信息管理系统或若干综合性设计题目,选择一种软件开发模型,完成从需求分析、系统设计、系统实现,软件测试的全过程。 要求: (1) 根据软件系统开发的一般原则,完成相应系统的功能设计,完成主要功能模块的程序实现并进行测试训练,给出代码运行结果和相应的设计文档。可以分组进行,但所有学生必须经历整个系统的开发全过程,以便加深对系统开发全过程的认识。 (2)提交课程设计报告。 (3)指标: 要求完成课程设计报告3000字以上(约二十页);完成所设计的题目,设计题目的语句行数的和在200行语句以上。 二、工作量 2周(10个工作日)时间 三、计划安排 第1个工作日:查找相关资料、书籍,阅读示例文档,选择题目。 第2个工作日-第4个工作日:设计程序结构、模块图。 第5个工作日-第9个工作日:完成程序的编码,并且自己调试、测试。穿插进行课程设计报告的撰写。 第10个工作日:上交课程设计报告,由教师检查软件测试效果、检查课程设计报告,给出学生成绩。

指导教师签字:2016年9月19日

目录 题目:.................................................... 错误!未定义书签。 1.需求分析............................................ 错误!未定义书签。 2.概要设计............................................ 错误!未定义书签。 3.详细设计............................................ 错误!未定义书签。 4.编码................................................ 错误!未定义书签。 5.调试分析............................................ 错误!未定义书签。 6.测试结果及运行效果.................................. 错误!未定义书签。 7.系统开发所用到的技术................................ 错误!未定义书签。 8.课程设计总结........................................ 错误!未定义书签。参考文献................................................. 错误!未定义书签。5 附录全部代码............................................. 错误!未定义书签。

加密解密课程设计

兰州商学院陇桥学院工学系课程设计报告 课程名称: Java 设计题目:加密与解密 系别:工学系 专业 (方向):信息管理与信息系统 年级、班:2012级(2)班 学生姓名:费亚芬 学生学号: 208

指导教师:张鑫 2014年7 月 1日 目录 一、系统开发的背景................................. 错误!未定义书签。 二、系统分析与设计................................. 错误!未定义书签。(一)............................................. 系统功能要求错误!未定义书签。(二)......................................... 系统模块结构设计错误!未定义书签。 三、系统的设计与实现............................... 错误!未定义书签。(一)图形用户界面模块 ........................... 错误!未定义书签。(二)加密操作模块 ............................... 错误!未定义书签。 (三)解密操作模块................................ 错误!未定义书签。(四)文件保存模块 ............................... 错误!未定义书签。

(五)文件选择模块 ............................... 错误!未定义书签。 四、系统测试....................................... 错误!未定义书签。(一)测试加密..................................... 错误!未定义书签。(二)测试选择加密文件............................. 错误!未定义书签。(三)测试生成加密文件............................. 错误!未定义书签。(四)测试浏览加密文件............................. 错误!未定义书签。(五)测试解密文件................................. 错误!未定义书签。 五、总结........................................... 错误!未定义书签。 六、附件(代码、部分图表) ......................... 错误!未定义书签。

java课程设计题目

java课程设计题目 设设HoMEWORK2012-02-2819:23 要求设明, 1.人一设~每设设设设一设目~如果列出多版本~只需要完成其中一版本两个个个即 可 2.由设委设设设设设各设设及其设目~下周以设子模式提交设目列表名设学档 3.每设必设完成相设的UML设;至少需要包括用例设、设设、设序设或者设作设,~UML 设可有Visio或者Rose或者StarUML或其他设似的工具完成 4.第六周设始机抽设设大家演示设述从随 设目列表如下, 1.打字游设(JavaGUI本地版/JSP版本/Javascript) 2.设文件设行明文加密(JavaGUI本地版) 3.在设设店设设站网(WEB版本) 4.5子棋游设(设版网/WEB版) 5.俄设斯方设(设版网/WEB版) 6.音设播放器(JavaGUI本地版) 7.设子相册(JavaGUI本地版) 8.多人聊天室((JavaGUI本地版/WEB版)9.模设考设系设(WEB版) 10.克游设扑(JavaGUI本地版/WEB版) 设设设明, 1.打字游设(JavaGUI本地版/JSP版本/Javascript)

设设背设设和打字速度, 可根据一片文章自设设入设设 整设设下落或者淡入淡出个 同设多设设出设个 设设入设设的设设分析设设功能 设分 2.设文件设行明文加密(JavaGUI本地版) DEC加解密,需要密设~可以解密 3.在设设店设设站网(WEB版本) 设设目的目的是设设一设合站~设设《在设设店》的基本功能~如管理设设~上设个网网 售网设设等功能。要求站能设布到Internet上。设站采用网 Jsp+JavaBean+JDBC+MySql|SQLServer等技设架~服设器端采用框Tomcat服设器。 4.5子棋游设(设版网/WEB版) 设设程序~完成下述功能,在大于9设的方形格棋设上~放置黑白色棋子条网两~两网弈两条人各设一色~通设设设~可以在任何设的交点上放置棋子~同色棋子~先同行、同列或者同设角设上5设设成一设者设设。条 5.俄设斯方设(设版网/WEB版) 设设程序~完成下述功能, 完成一可以人通设设设设的俄设斯方设游设~每一方都可以在自己的幕个两个网屏 上看到设方的前游设~游设先设束的一方设失设者当状况 6.音设播放器(JavaGUI本地版)

学生信息管理系统java课程设计源代码

JAVA程序设计课程设计报告 课题: 学生信息管理系统 姓名: 学号: 同组姓名: 专业班级: 指导教师: 设计时间: 评阅意见: 评定成绩: 指

目录 一、系统描述 (2) 1、需要实现的功能 (3) 2、设计目的 (3) 二、分析与设计 (3) 1、功能模块划分 (3) 2、数据库结构描述 (4) 3、系统详细设计文档 (6) 4、各个模块的实现方法描述 (9) 5、测试数据及期望结果 (11) 三、系统测试 (16) 四、心得体会 (23) 五、参考文献 (24) 六、附录 (24)

一、系统描述 1、需求实现的功能 1.1、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。 1.2、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 1.3、查询学生基本信息的功能 可使用“姓名”对已存有的学生资料进行查询。 1.4、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 1.5、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 1.6、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,

java文件加密解密课程设计

软件学院 课程设计报告书 课程名称面向对象程序设计 设计题目文本文档的加密与解密 专业班级财升本12-1班 学号 1220970120 姓名王微微 指导教师徐娇月 2013年 1 月

1 设计时间 2013年1月14日-2013年1月18日 2 设计目的 面向对象程序设计是一门实践性很强的计算机专业基础课程。通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。 3 设计任务 对文件进行加密解密 4 设计内容 4.1 需求分析 (1)给定任意一个文本文件,进行加密,生成另一个文件。 (2)对加密后的文件还原。 4.2 总体设计 4.2.1 包的描述 导入了java.awt; java.awt.event; java.io; javax.swing等包。 4.2.2 类的描述 Myframe类;E1类。其中Myframe类继承Frame类;可以扩展Frame的功能并且可以实例化的多种功能,这个类也实现了ActionListener这个接口,它是Java中关于事件处理的一个接口,ActionListener用于接收操作事件的侦听器接口。对处理操作事件感兴趣的类可以实现此接口,而使用该类创建的对象可使用组件的addActionListener 方法向该组件注册。在发生操作事件时,调用该对象的actionPerformed 方法。 4.3 页面设计

图4.3-1 显示页面 代码实现: addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } });

Java课程设计学生信息管理系统

《面向对象程序设计》课程设计报告题目:《**********》课程设计 学院:信息工程学院 姓名: *** **** ****** 学号: ** ** ** 专业:计算科学与技术 班级: ***** 指导教师: ***** 2015 年 12月

目录 目录 ................................................................... 摘要 ................................................................... 1.引言 ................................................................. 2.设计目的与任务 ........................................................ 3. 设计方案 ............................................................. 3.1总体设计...................................................... 3.2开发环境...................................................... 3.3层次图........................................................ 3.4界面预览...................................................... 3.4.1登录界面 .................................................. 3.4.2该管理员不存在( 用户名:name 用户密码:psw ) ............. 3.4.3学生信息管理界面 .......................................... 3.4.4填写学生信息 .............................................. 3.4.5录入学生信息 .............................................. 3.4.6查询学生信息 ..............................................

java课程设计-文件管理系统

课程设计 课程设计名称:java课程设计 专业班级: XXX班级 学生姓名: XXXX 学号: XXXXX 指导教师: XXXXX 课程设计时间:

目录 目录 ------------------------ 1 课程设计任务书 ------------------------- 2 一、需求分析 ------------------------- 3 二、概要设计 ------------------------- 4 三、开发语言 ------------------------- 4 四、详细设计 ------------------------ 4 五、调试与分析 ------------------------- 13 六、功能测试 ------------------------- 14 七、结论与心得 -------------------------- 15 八、参考资料 -------------------------- 16 九、成绩评价表 -------------------------- 17

计算机科学技术(卓越计划)专业课程设计任务书

文件管理系统 一、需求分析 题目要求对文件进行复制,压缩,解压等操作,相当于一个简单的文管理系统。对此我新加了剪切,删除,和重命名等功能。程序的整体输入控制是采用图形用户界面,同时为了减少用户输入时不必要的错误,程序还支持文件选择器功能,用户可以直接点击相应的按钮选择相应的文件或文件夹。 (1)复制功能实现了将文件复制到指定的文件夹中(包括文件夹的复制和单个文件的复制),同时允许用户选择不同类型的文件复制。其 中有全文件复制(文件夹里所有文件全部复制)、无空文件夹的文 件复制(即复制的文件夹不含空文件夹)、指定参数的文件复制(即 文件夹复制时可以指定相应的类型参数doc、txt等选择要被复制 的文件类型)。 (2)压缩功能实现将文件压缩到指定路径(包括单个文件的压缩和文件夹的压缩)。 (3)解压功能实现将指定的压缩文件解压到指定的路径 (4)剪切功能实现将制订文件夹下的文件剪切到制订的文件夹下,与复制不同的,剪切后该文件只存在于剪切后的文件夹。 (5)删除功能实现了文件的删除和文件夹删除,其中文件的删除可以直调用文件的方法删除文件,而文件夹的删除必须递归删除文件夹中 的所有文件,然后再层层调用方法删除文件夹。 (6)重命名功能实现对指定文件夹下的文件的重命名,如果该文件夹下已经存在该文件名,则提示重新命名

java课程设计报告(教室管理系统)

课程设计报告 学院、系:吉林大学珠海学院计算机科学与技术系专业名称:网络工程 课程设计科目java程序课程设计学生姓名:王佳 指导教师:吕健波 完成时间:2010年9月-11月

教师管理系统 一、设计任务与目标 1)负责教师管理的主界面(用菜单方式打开下面的四个功能界面) 录入教师管理的界面 修改教师管理的界面 查询教师管理的界面 删除教师管理的界面 2)教师数据表的字段要求至少包含:工号、姓名、年龄、职称、所在系、教授的主要课程、联系电话、联系地址等字段。要求字段类型设计合理、使用方便。 3)要求界面美观大方、功能实现完整 此程序的设计,主要包括两个主体部分,一是界面部分,二是创建按钮并监听,实现录入,修改,查询,删除等功能。 以前在C++编写过类似的教师管理系统,其主要思路和本题保持一致,但代码不同。 需要准备的工作是创建主界面并完善各项分功能,连接数据库,实现录入和查看同步。此次设计将会提高我对真正的JAVA程序设计的实战能力,对以前学过的知识融会贯通,并且深化和应用。意在最终程序可以美观,实用,人性化,尽最大的能力扩充相关分模块。 二、方案设计与论证 针对这道设计题的特点,首先做一个界面,界面中包括相关的分功能,录入,修改,查询,删除等,用surface做界面,分别设置各自的监听器,监听每一个button,并且各个分功能是对应各自的类。这样的话,有利于用户提出不同修改的要求,此时只要单独修改个别类即可,提高程序的便捷化并且满足不同客户的需要。在做这道题时遇到最大的障碍就是连接access数据库,因为以前没学过,所以这部分知识完全不会,必须考自学。自己做这道题与其他设计人员

java课程设计指导书

前言 Java高级程序设计是计算机科学的基础理论知识,也是软件设计的技术基础。本课程设计的性质是检验理论课学习的效果以及综合运用的能力,目的是训练学生进行复杂程序设计的技能和培养良好程序设计的习惯。本课程设计的任务是要求学生使用Java语言编程,解决具有一定规模的、具有实际意义的应用题,实现理论课所要求掌握的java解决实际问题。本指导书由计算机与通信工程学院黄永丽编写,由于时间仓促,难免有许多错误欢迎广大师生批评指正。

目录 前言 一、课程设计的基本任务 二、课程设计目的和意义 三、课程设计的要求 四、课程设计的内容 五、课程设计的基本步骤和方法四、课程设计说明书 附录1 课程设计任务书模板附录2 课程设计总结报告模板

一、课程设计的基本任务 Java高级程序设计是一门涉及java基础编程和高级编程的课程,需要较好的java语言的程序设计和调试能力,如果学生能够按照要求,从时间和精力上保证完全的投入,相信能够有很大的收获,学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时的向教师汇报。 《Java高级程序设计》课程设计是计算机科学与技术专业的主要实践性教学环节。在进行了专业基础课和《Java高级程序设计》课程的基础上,设计一个实际的应用软件,初步软件设计的基本方法,提高进行工程设计的基本技能及分析、解决实际问题的能力,为毕业设计和以后的工程实践打下良好的基础。

二、课程设计目的和意义 目前,很多新的技术领域都涉及到了Java语言,Java语言是面向对象编程,并涉及到网络、多线程等重要的基础知识,因此Java语言也是学习面向对象编程和网络编程的首选语言。按照教学培养计划要求,学生在学习完课本中指定课时的知识后,应安排一定课时的课程设计。其主要目的是使学生深入理解并实践在本课程中所学的有关JAVA程序设计方面的语言基础、异常处理、事件处理、小应用程序以及图形用户界面设计等。 本课程设计是为了配合Java程序设计课程,帮助学生深入学习掌握Java语言,熟练运用这个工具而设立的课程。通过课程设计各个项目的综合训练,加强学生对JAVA语言的理解,检验学生对专业理论知识理解与掌握的程度,锻炼学生综合运用JAVA程序设计处理所学的知识实际分析问题、解决问题的能力,使课堂上的理论在实践中得到运用,提高学生的综合素质,为学生毕业后的实际工作打好基础。 三、课程设计的要求 本次课程设计是对前面学过的所有面向对象的编程思想以及编程方法的一个总结、回顾和实践,因此,开始设计前学生一定要先回顾以前所学的内容,明确本次作业设计所要用到的技术点并到网上搜索以及查阅相关的书籍来搜集资料。通过编写一个基于JAVA的应用系统综合实例,来掌握Java语言编程技巧。 根据Java课程设计的特点,课程设计的选题要结合所学专业,对所选课题,要认真进行调查研究、系统分析,选题应当符合以下要求:

学生成绩管理系统Java课程设计

目录 1 设计题目 (1) 2 设计目的 (2) 3设计分析 (3) 4 概念结构设计 (6) 5 逻辑结构设计 (11) 6 表结构设计 (13) 7 具体功能实现 ................................................. .15 8 总结 (26) 9 附录 (27)

1.设计题目学生成绩管理系统

2.设计目的 本学生成绩管理系统模块是为了实现学校人力资源的优化和学生成绩管 理的科学管理而设计的,通过试用本系统,可以更加有效的管理学生成绩信息,用数据库对大量数据的复杂操作进行保存,其中包括学生的基本信息,成绩信息和班级成绩信息并且具有信息的增加,查询,修改和修改等功能。

3.设计分析 3.1 可行性研究 (1)利用面向对象的JAVA语言来进行系统开发,可以很方便的根据实际定义各个所需要的对象,并对这些对象进行操作。同时由于本系统是在用戶图形界面进行各种用户操作,可以使界面多样化满足人们的对美观的要求,更易懂、更方便操,能够更方便验证用户的输入是否正确,并进行相应的提示,这些需求和功能在目前情况下利用所学知识完全可以实现。并且本系统采用文件来存储数据,操作比较简单,方便学生成绩的导出与打印,省去了人力的大量抄写,但是在一定程度上限制数据量和系统的运行速度。 该学生成绩管理系统可以在Microsoft Windows XP 和 Windows 7系统下进行开发和运行的,这些系统目前已经比较普及,用户在该系统中可以方便的进行各种操作,实现预期的目的。该系统的开发成本比较低,符合了人们对低资源高效率的追求,利用较低的成本换取更高的回报。 (2)具体的定义问题: 此次开发的项目是一个学生成绩管理系统,进行学生信息的增删改查、学生成绩的管理和班级成绩的管理,在进入系统之前需要登陆,登陆成功后即可进入系统的相应的用户界面。 本系统的身份主要分为教务处、老师和学生。 ①若是教务处登录可以进行多条件查询学生的信息,也可以增加、删除、修改、学生的信息,并可多条件查询学生成绩的信息,以及成绩的增加和修改,查询班级成绩,可按班级查询或按日期查询。 ②若是老师登录,则可以查询所有的学生信息、学生成绩和班级成绩。 ③若是学生登录,则只可以查询自己的信息和成绩,不可进行对任何信息的任何修。 ④在登录界面有注册功能,并以学号为线索贯穿整个系统。 系统的基本流程图,如图3.1所示:

加密解密课程设计

兰州商学院陇桥学院 工学系课程设计报告 课程名称: Java 设计题目:加密与解密 系别:工学系 专业 (方向):信息管理与信息系统 年级、班:2012级(2)班 学生姓名:费亚芬 学生学号:20120651208 指导教师:张鑫 2014年7 月1日

目录 一、系统开发的背景 (1) 二、系统分析与设计 (1) (一)系统功能要求 (1) (二)系统模块结构设计 (2) 三、系统的设计与实现 (2) (一)图形用户界面模块 (2) (二)加密操作模块 (3) (三)解密操作模块 (4) (四)文件保存模块 (4) (五)文件选择模块 (5) 四、系统测试 (6) (一)测试加密 (6) (二)测试选择加密文件 (6) (三)测试生成加密文件 (6) (四)测试浏览加密文件 (7) (五)测试解密文件 (8) 五、总结 (8) 六、附件(代码、部分图表) (10)

加密与解密 一、系统开发的背景 随着网络技术的不断发展,人们的个人信息、网络间的文件传递、电子商务等方面都需要大力的保护,文件加密技术也就随之产生。文件的加密主要是由加密算法实现,加密算法有多种,本程序设计对文件的加密使用的是最基础的异或加密算法。 Java语言具有简单、安全、可移植、面向对象、健壮、多线程、体系结构中立、解释执行、高性能、分布式和动态等主要特点。本程序充分利用Java语言的特点,针对当下社会比较重视的文件加密,设计了本程序。使用本程序可以对txt,word等多种文件进行加密解密,使用便捷实用,功能完善,满足了用户对文件安全性的需求。 二、系统分析与设计 (一)系统功能要求 可以采用图形用户界面,给定任意一个文本文件,进行加密,生成另一个文件,然后对加密后的文件还原。 1、向图形用户界面中添加组件; 2、设置各个组件的布局; 3、添加窗口事件; 4、查找读入及写入文件,并显示; 5、加密功能实现; 6、解密功能实现;

学生管理系统课程设计(java)

Java课程设计报告题目学生管理系统 学生姓名侯旻燊专业班级计科 完成日期 2014年12月30日

摘要 学校的学生学籍信息管理是学校管理中的一项重要任务,以往的手工操作已经不能适应现在办公的需要.为了摆脱繁琐的劳动,提高工作效率,利用计算机进行信息处理成为必然.开发功能完善及安全可靠的管理系统可以大大提高学校资源的利用率,及时,准确地获取需要的信息,充分发挥人员的工作潜力。因此,不难想象,正是咨询业的迅速发展使得人们从过去的手工劳动中得以解脱.同时,编写一套完善的学生学籍管理系统的任务就显得尤为重要。软件开发的意图为便于学校的管理,方便查看有关学校及学生的情况。如教务处对学生成绩的修改、删除、查找、添加等。

目录 1.总体设计 (1) 1.1本系统的主要功能 (1) 1.2系统包含的类及类之间的关系 (1) 1.3功能概要 (1) 1.3.1学生登录 (1) 1.3.2管理员登录 (1) 1.3.3程序总逻辑 (2) 2.详细设计 (2) 2.1主类Client (2) 2.2类AdminGUI (2) 2.3类UpdateAndInsert (3) 3.运行效果 (4) 3.1登陆界面 (4) 3.2学生登陆界面 (4) 3.3管理员登陆 (6) 3.4数据库 (7) 参考文献 (8) 附录1 软件源程序 (8) 1.StudentGUI.java (8) 2.AdminGUI.java (14) 课程设计实践总结: (26)

1.总体设计 1.1本系统的主要功能 该项目主要功能为:学生学籍基本信息查看,管理员信息处理 1.2系统包含的类及类之间的关系 如图1-1所示。 图1-1 类之间的关系 1.3功能概要 学生管理系统分为两大功能: 1.3.1学生登录 1.完成查询自己的学籍信息 2.修改自己的登录密码 3.修改自己的籍贯 4.修改自己的电话号码 1.3.2管理员登录 1.删除指定学生学籍 2.增加指定学生学籍 3.修改指定学生学籍 4.查询指定学生学籍 5.列出全部学生学籍信息

java文件加密课程设计

结业报告 课程名称:网络安全技术 设计题目:java实现文件加密 系别:***学院 专业:*************** 组员:**************************起止日期***************** 指导教师:***

摘要 目前世界范围内的信息安全问题越来越严重。解决信息安全问题涉及面很广,它包括技术,管理.制度,人员和法律等诸多方面,但最核心部分是密码技术。密码技术是实现一种变换,它使得对大量信息的保护变为对少量密钥的保护。 本次结业设计以文件的加密与解密问题为主要研究讨论方向。先对加密技术进行查找资料。然后对加密方法进行概述,而后对3DES加密进行详细介绍何分析,并对结业设计成果进行演示,最后附上代码。由于本次结业设计时间仓促外加能力有限,有诸多不足之处以及可能存在某些为发现错误还请批评指正。感谢之至。 关键词:加密解密密钥 3DES Abstract At present, the problem of information security is more and more serious in the world. To solve the problem of information security involves a wide range, including technology, management, system, personnel and law, etc., but the most important part is the password technology. Password technology is to achieve a transformation, which makes the protection of a large number of information into a small number of key protection. The graduation project to document encryption and decryption issues as the main research and discussion. First, the encryption technology to find information. Then the encryption method is outlined, and then the 3DES encryption for detailed analysis, and the completion of the design results are demonstrated, and finally attached to the code. Due to the limited capacity of the completion of this graduation project, there are many deficiencies and there may be some to find errors also please criticism. Thanks to.

JAVA课程设计员工信息管理系统

JA V A员工管理系统 实验报告 姓名:张旭冉 学号:10105010117 班级:信10-1 北方工业大学理学院信息与计算科学系2013年12月17日

员工管理系统 一、实验目的 通过该课程设计,使同学们进一步理解概JAVA的基本概念、理论和方法,初步掌握JDK、Eclipse的调试和应用,以及程序中错误的解决方法,明确JAVA在实际程序设计中的应用。使课堂中学习到理论得到应用,练习文件形式在JAVA程序设计中的应用。 二、实验内容 A.设计题目:员工管理系统 设计要求:(1)完成员工信息的添加、删除、查询、修改功能 (2)使用用户界面操作 (3)使用文件形式完成 设计思路:首先设计界面进入面板,在面板中添加菜单选项,并将要实现的功能选项添加其中,然后对这些选项实施监听,实现其功能。通过文件类型知识的应用,实现对员工信息的管理。 B.概要设计 面板设计:首先设计一个容器,然后再容器中添加菜单,在菜单中添加选项,并在容器中加入面板,面板布局设置为CardLayout,最后将面板添加进容器。 功能实现:在录入、查询、修改和删除界面中使用JButton、JLabel、ButtonGroup、JRadioButton、JTextField、Choice为界面中加入相应的组件,并对其进行监听,同时附加了文件流的处理。 C.详细设计 1、定义员工类: public class Employee implements java.io.Serializable { String number,name,discipling,grade,borth,sex; public Employee() { } public void setNumber(String number) { this.number=number; } public String getNumber() { return number;

Java课程设计之加密和解密

课程设计(论文)任务书 软件学院软件工程专业班 一、课程设计(论文)题目加密与解密 二、课程设计(论文)工作自年月日起至年月日止。 三、课程设计(论文) 地点: 四、课程设计(论文)内容要求: 1.本课程设计的目的 (1)使学生巩固和提高Java编程技术 (2)培养学生掌握程序设计的基本思路和方法; (3)加强学生研发、调试程序的能力; (4)培养学生分析、解决问题的能力; (5)提高学生的科技论文写作能力。 2.课程设计的任务及要求 1)任务: (1)设计GUI界面的Hannoi塔,用户可以通过拖动鼠标移动各个塔上的盘子,程序 也可以自动演示盘子的移动过程。; (2)有三个表示塔的对象,分别命名为A、B和C。A塔上有若干个盘子,盘子的大小 不等,并按着大小顺序依次摆放在A塔上,大盘在下,小盘在上。用户可以用鼠标拖 动盘子,把A 塔上的盘子全部移动到另外两个塔中的任何一个塔上。要求每次只能移 动一个盘子,在任何时候不允许大盘压在小盘的上面。 (3)用户也可以选择让程序自动演示。选择自动演示后,程序将以动画形式演示把A 塔上的盘子全部移到C塔的过程,并将移动过程以文本形式显示在一个文本区中。 2)创新要求: 在基本要求达到后,可进行创新设计,增加功能和游戏趣味性。 3)课程设计论文编写要求 (1)课程设计任务及要求 (2)需求分析 (3)设计思路--工作原理、功能规划 (4)详细设计---数据分析、算法思路、类设计、功能实现(含程序流程图、主要代码及注释)、界面等。 (4)运行调试与分析讨论---给出运行屏幕截图,分析运行结果,有何改进想法等。(5)设计体会与小结---设计遇到的问题及解决办法,通过设计学到了哪些新知识,巩固了哪些知识,有哪些提高。 (6)参考文献(必须按标准格式列出,可参考教材后面的参考文献格式) (7) 报告按规定排版打印,要求装订平整,否则要求返工; (8) 课设报告的装订顺序如下:封面---任务书---中文摘要---目录----正文---附录(代码

员工管理系统Java课程设计

课程设计(论文)任务书

摘要 Java语言是当前最为流行的程序设计语言之一,诸多优秀的的特性使其成为被业界广泛认可和采用的工具。 随着目前公司规模的渐渐扩大,员工管理将成为意见不得不总是的问题。有些公司人员流动较大,而且人数动辄上百人,,若采用传统的方式进行管理,不仅易出错更是一件令人痛疼的事。随着计算机的诞生,在此领域产生众多的信息管理系统来管理信息,不仅信息处理方便,而且简单强大。本系统正事其中的一项,针对员工信息管理,方便公司对员工的信息进行处理,极大减少了人事管理的工作量。另一方面,本系统中所涉及到图形用户界面设计是我们学习程序设计这门课的难点兼重点,通过审计本系统不仅巩固了我们的基础,以及程序设计能力,还锻炼了我们对程序设计的流程及大体上的把握不仅如此,在设计过程中,我们的调试能力也得到增强。使我们对设计“大程序”有了经验。目前,无论是机关、事业单位、还是企业单位,员工管理对于组织生存与长远发展所具备的重要性都已经有了明确的认识,而员工管理水平的提升不仅需要高素质的管理人员,而且也需要信息化工具进行辅助.在现代化的企业管理中,员工管理系统有着十分重要的作用! 关键词:文件和流界面设计GUI 异常处理 Hashtable类

目录 一、设计目的............................ 错误!未定义书签。 二、设计问题............................ 错误!未定义书签。 2.1课设问题.................................... 错误!未定义书签。 2.2设计思路.................................... 错误!未定义书签。 三、概要设计 (6) 3.1程序功能模块设计的实现...................... 错误!未定义书签。 3.2系统总体结构................................ 错误!未定义书签。 3.3员工信息面板功能的实现...................... 错误!未定义书签。 3.4员工界面功能模块设计的实现.................. 错误!未定义书签。 四、详细设计............................ 错误!未定义书签。 4.1定义程序变量................................ 错误!未定义书签。 4.2程序面板设计................................ 错误!未定义书签。 4.3录入员工信息................................ 错误!未定义书签。 4.4查询员工信息................................ 错误!未定义书签。 4.5修改员工信息................................ 错误!未定义书签。 4.6删除员工信息................................ 错误!未定义书签。 4.7显示员工信息................................ 错误!未定义书签。 五、设计总结............................ 错误!未定义书签。 六、参考文献............................ 错误!未定义书签。 七、致谢............................ 错误!未定义书签。

相关文档
最新文档