为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

Java文件上传下载

2012-06-21 9页 doc 135KB 132阅读

用户头像

is_191493

暂无简介

举报
Java文件上传下载 Java程序设计报告 文件上传下载 院 系: 城南学院 姓 名: xxx 班 级: 计算机09-1 学 号: 20098625xxxx 2012年6月16日 1、 Java简介 Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平...
Java文件上传下载
Java程序设计 文件上传下载 院 系: 城南学院 姓 名: xxx 班 级: 计算机09-1 学 号: 20098625xxxx 2012年6月16日 1、 Java简介 Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决。Java的平台有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。 在本程序设计中,因为需要开发的是socket通信程序,规模较小,内容较少,但考虑到将来可能进行大型软件的开发,所以选择了普遍使用的MyEclipse开发工具。 2、 任务: 1)使用Java语言编写代码,实现文件上传下载功能。 2)复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握; 3)学会分析解决实际问的能力。提高适应实际,实践编程的能力; 4)程序分为客户端和服务段,使用socket套接字实现网络通信,使用数据流实现文件传输。 5)支持站点目录和文件结构浏览 3、 程序详细设计与分析 i. 服务器端代码 import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; public class FileUpLoadProjServer extends Thread { public FileUpLoadProjServer(Socket s, String c) throws IOException { } public void run() { } public static void main(String[] args) { try { ServerSocket server = new ServerSocket(8110); Socket connection = null; System.out.println("服务端打开"); while (true) { try { connection = server.accept(); InputStreamReader in = new InputStreamReader(connection .getInputStream()); long time = System.currentTimeMillis(); String t = "D:\\java\\" + time; File myFile = null; if ((new File(t).mkdir())) { myFile = new File(t + "\\temp.txt"); } else { System.out.println("Create folder failed!"); } FileOutputStream fos = new FileOutputStream(myFile); int ch = 0; while ((ch = in.read()) != -1) { System.out.print((char) ch); fos.write(ch); } fos.close(); connection.close(); } catch (IOException ioe) { System.err.println(ioe); } finally { try { if (connection != null) connection.close(); } catch (IOException e) { } } } } catch (IOException ee) { System.err.println(ee); } } } ii. 客户端端代码 import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.InetAddress; import java.net.Socket; import java.util.Scanner; public class up_down extends Thread { private Socket socket; private PrintWriter out; final int port = 8110; static String path = "D:\\java\\"; static String name ; public static void recursion(String root) { File file = new File(root); File[] subFile = file.listFiles(); for (int i = 0; i < subFile.length; i++) { if (subFile[i].isDirectory()) { System.out.println("目录: " + subFile[i].getName()); recursion(subFile[i].getAbsolutePath()); } else{ System.out.println("文件: " + subFile[i].getName()); } } } public up_down(InetAddress addr) { try { socket = new Socket(addr, port); } catch (IOException e) { } try { out = new PrintWriter(new BufferedWriter(new OutputStreamWriter( socket.getOutputStream())), true); start(); } catch (IOException e) { try { socket.close(); } catch (IOException e2) { } } } public void run() { try { File root = new File(path); String[] colum = root.list(); System.out.println("The file's num is :" + colum.length); // for (int i = 0; i < colum.length; i++) { // System.out.println("The colum's content is :" + colum[i]); String filePath = path + name; System.out.println("The file's absolutePath is :" + filePath); FileInputStream fis = new FileInputStream(filePath); File file=new File("d:\\java"); if(!file.exists()){ file.mkdir(); } FileOutputStream ou=new FileOutputStream(file+"\\"+name); int ch = 0; while ((ch = fis.read()) != -1) { // System.out.print((char) ch); ou.write(ch); } fis.close(); // } out.close(); System.out.print("over"); } catch (IOException e) { e.printStackTrace(); } finally { try { socket.close(); } catch (IOException e) { e.printStackTrace(); } } } public static void main(String[] args) throws IOException, InterruptedException { System.out.println("客户端目录下文件"); recursion(path); Scanner input=new Scanner(System.in); String str=input.next(); name = str ; InetAddress addr = InetAddress.getByName("127.0.0.1"); new up_down(addr); } } 4、 测试分析 图表 1 打开服务端 图表 2 打开客户端显示客户端目录下文件 图表 3 输入要上传的文件 图表 4 按回车后,显示文件目录和大小 图表 5 文件传输后,显示文件结束 图表 6 在服务端目录中已经出现了test.jpg文件 5、 课程设计体会 经过努力,基本上完成我的Java课程设计—利用socket和文件流实现上传下载,也基本上实现了老师需求分析时所预期的功能。通过这次的课程设计,使将我从本上学习到的理论知识用到了实践上,从而进一步巩固和丰富了我所学过的知识,让我更深层次地认识到Java及其强大的功能。同时,做这门课程设计也进一步加强了我的动手能力。为了完成好这次课程设计,我一边上网查找相关资料,另一方面查阅相关书籍。在这过程中也无形中锻炼了我的思维分析、遇到问题及想方设法通过各种途径解决问题的能力。但是,设计过程遇到了不少的困难。 4
/
本文档为【Java文件上传下载】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索