jdk1 6(就职的公司居然还在用Java 1.6,该不该换公司)

2024-04-24 21:50:01 3

jdk1 6(就职的公司居然还在用Java 1.6,该不该换公司)

大家好,今天小编来为大家解答以下的问题,关于jdk1 6,就职的公司居然还在用Java 1.6,该不该换公司这个很多人还不知道,现在让我们一起来看看吧!

本文目录

就职的公司居然还在用Java 1.6,该不该换公司

谢邀~

公司还在使用JDK6,不应该是你跳槽的直接原因。

为什么有些公司还在使用JDK6

别说1.6了,还在用1.5的我都见过。

很多企业级的应用,都会运行个三五年,甚至更长的时间,才会有新的系统替代他。如果题主公司的项目都是运行五年以上的话,现在还使用JDK6是有情可原的。(JDK7好像是11年发布的)。

对于大多数企业级应用来说,当系统上线后,“稳定”是最重要的,所以当业务需求可以满足、系统效率也能跟得上的时候,企业是不会轻易升级JDK版本的。

版本高,不一定使用到新特性

  • 首先,Java常用的内容,比如集合、IO、多线程(并发框架)、JVM的内部原理,这些基础的东西是一直都有的,你依然可以从JDK6中学到很多知识;

  • 另外一方面,例如我们单位使用的是JDK8,但是据我观察,大部分程序员都没有用到高版本的新特性,比如很多程序员是不会写lambda表达式的;

  • 我估计我们单位在几年内,也不会升级JDK版本的;若干年后,可能也会被问到“公司还在使用JDK8,要不要跳槽”。

顺着JDK,看看公司的技术栈

这里的技术栈是指:公司项目用到的框架、软件、架构等。(业务经验的积累,在这里不讨论,只谈技术)

  • 有些公司使用SSH框架,单台关系型数据库;

  • 有些公司除了常规的框架,开始使用Spring Boot;系统和系统之间除了接口调用之外,也用到消息队列进行解耦;除了关系型数据库,也引入了非关系型数据库;

  • 有些公司用到了Dubbo、Spring Cloud,开始使用Docker,引入Devops,分库分表...

这时,公司之间技术的差距就显现出来了;同时也会影响到程序员的技术发展;这才是你考虑是否需要跳槽的因素之一。

总之,平台和个人的努力,都很重要。

我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

java jdk1.6平台的安装及应用

呵呵,楼上说的够详细的啦,不过我补充一句:环境变量的设置(教人要教最关键的)。 jdk的东西,初学不需要精通,知道它是用来做java开发的就可以了。 设置环境变量: 1.首先,我们要安装jdk,呵呵,注意你的安装目录,最好自定义一下,以后好找,别到最后了,连安装到哪里都不知道。好像它会自动先安装jdk,安装好后,提示你安装jre。都安装上,同一个目录下就可以。如:我的安装目录是:D:\programer\Java。在这个目录下会有你刚才安装的jdk和jre,并且都标示有版本号,我的是:1.5的。不过,道理一样。 2.配置你的环境变量:有3个值需要配置。右键点击“我的电脑”—》“属性”—》“高级”—》“环境变量”—》单击“系统变量”下的“新建”按钮,依次新建“classpath”“java_home”“path”环境变量,他们的值分别为: java_home=D:\programer\Java\jdk1.5.0_06 classpath=.\;D:\programer\Java\jdk1.5.0_06lib\tools.jar;D:\programer\Java\jdk1.5.0_06\lib\dt.jar;D:\programer\Java\jdk1.5.0_06\jre\lib path=D:\programer\Java\jdk1.5.0_06\bin (如果你的电脑已经有了path系统变量,则直接在后面加上这个值即可) 以上3值的设定,请注意比较我的安装路径。千万不要直接照抄! 3、测试jdk的安装: “开始”—》“运行”—》输入“cmd”进入DOS—》分别输入“java”和“javac” 如出现一系列参数,则,安装正常…… 4.其实,你要进行java的开发,仅有jdk,虽然可以,但不方便,建议安装eclipse,并且使用myeclipse,我的理解是myeclipse是eclipse的一个插件,如果有问题,问我。安装myeclipse时,如果你的电脑主题使用了别的,或是使用了美化包,建议全部关闭,使之成为最原始的windows经典主题。否则,会死翘翘滴。。。。。安装完后,主题可以再变回来,如果你要进行桌面程序的开发如:使用SWT+JFACE,建议还是使用默认的windows经典主题,否则,设计界面会有问题。 呵呵,干脆,我把关于java所需要的一些列软件的安装,都告诉你吧,看样你是初学java。这样会使你的学习过程比较有乐趣,想当年,我一个人研究的myeclipse的平台,连个帮我的人都没有,那个迷茫,那个郁闷,我都想放弃了。这可是当年搞定myeclipse时保存下来的心得,全部给你把。有问题找我。具体软件的下载,你先自己找找看吧,对了,你的E文好吗? 要去官方网站上下,或是使用myecli自带的help_》help contents里面自己找。建议先使用我推荐的版本,然后自己熟了,在逐渐摸索。 一、tomcat的安装和配置 1、安装版本:jakarta-tomcat-5.0.28.exe (core版) 2、配置系统环境变量: 设:我的安装路径为:D:\programer\Tomcat 5.0 则:右键点击“我的电脑”—》“属性”—》“高级”—》“环境变量”—》单击“系统变量”下的“新建”按钮,新建“tomcat_home”环境变量,它的值为: tomcat_home=D:\programer\Tomcat 5.0 以上值的设定,请注意比较我的安装路径。 3、测试运行tomcat的安装: 可直接双击托盘内tomcat的小图标,或到安装目录下找到“tomcat5w.exe”,双击,即可弹出tomcat的运行界面。他的路径为D:\programer\Tomcat 5.0 \bin\tomcat5w.exe 测试:打开ie,输入“”,其中,8080是默认的端口号。会看到tomcat的主界面,也就是控制面板,搞定它是门大学问。暂时不在此讲解 三、eclipse的安装和配置 1、安装版本:eclipse-SDK-3.1.2-win32.zip 这里说安装不准确,应该说是解压。解压到你的指定目录。 2、link安装方法: 建议在安装eclipse插件时,使用此方法。 使用link安装方法的先决条件: (1)、 插件的解压缩文件的根目录必须为:*:\eclipse\…… (2)、在解压好的eclipse目录中建立一个文件包,包名随意。设我的eclipse安装目录为:D:\programer\eclipse则我新建的包的目录为: D:\programer\eclipse\links,其中links就是我新建的包。 (3)、为安装的各种eclipse插件,新建link文件,这种文件的后缀名可随意,但我建议使用link做后缀。用记事本打开,并写入: path=……,具体值在下面介绍。注意自己总结规律。 3、语言包的安装:建议在刚接触时使用,熟悉eclipse的开发环境后,立即删除,因为,如果你不懂e文,就别想在软件这一行混了……安装时要注意版本,我的版本是:NLpack-eclipse-SDK-3.1.x-win32.zip。所有eclipse的插件安装,都必须注意版本号! 我们使用link安装方法,安装我们的语言包,同样是解压,建议你新建一个专门用于存放各类插件解压文件的文件包,我的为:D:\links。 在D:\links下,新建language文件包,将NLpack-eclipse-SDK-3.1.x-win32.zip解压到此文件包内,注意,这时的language文件包的根目录就是:eclipse。(这样表述 可能不正确……o(∩_∩)o),然后在D:\programer\eclipse\links中建立语言包的link文件,我的为:language.link。用记事本打开,并写入: path=D:\\links\\language至于为什么这样写,大家都是聪明的孩子,不用我多说了吧! 4、测试eclipse及语言包的安装: 打开eclipse,会发现你的已是中文。ok! 5、如果不行,到Eclipse安装目录Configuration子目录下,找到org.eclipse.update文件包,靠!就是它搞得鬼,很简单,删掉,然后重新启动。 6、说明: (1). 插件可以分别安装在多个自定义的目录中。 (2). 一个自定义目录可以安装多个插件。 (3). link文件的文件名及扩展名可以取任意名称,比如ddd.txt,myplugin都可以。 (4). link文件中path=插件目录的path路径分隔要用\\或是/ (5). 在links目录也可以有多个link文件,每个link文件中的path参数都将生效。 (6). 插件目录可以使用相对路径。 (7). 可以在links目录中建立一个子目录,转移暂时不用的插件到此子目录中,加快eclipse启动。 (8). 如果安装后看不到插件,把eclipse 目录下的configuration目录删除,重启即可。 四、tomcat插件的安装和配置: 1、安装版本:tomcatPluginV3.zip,同样是解压,直接解压到eclipse安装目录下的/plugins子目录下即可。 2、tomcat的配置: 启动eclipse,选择“窗口”—》“首选项”,你会左面发现多了个“tomcat”,点它,在右面设置tomcat和tomcat_home,我就分别为你的安装版本和安装路径。我的为“version 5.x”和“D:\programer\Tomcat 5.0”,点“应用”。 然后,点开左面的tomcat,找到“advanced”,设置“tomcat base”,也是你的tomcat的安装路径。点“应用” 点“确定”,关闭。 五、Myeclipse的安装和配置 1、安装版本:MyEclipse4.1.1 for Eclipse3.1.X,在安装过程中,自动提示“please choose existing eclipse installation folder”也就是你的eclipse的安装目录。 2、进入你的eclipse安装目录,会发现多了一个ico的logo,就是它,其实myeclipse只是eclipse的一个插件…… 3、启动eclipse,在“首选项”中有多了一个“myeclipse”,恭喜你,安装成功了 4、配置: 添加tomcat到myeclipse,天啊,弹出窗口要我输入注册码,大家都是穷程序员,给大家个注册码: MyEclipse 5.0 M2 for Eclipse 3.2 Subscriber: Subscriber Code: jLR8ZC-444-55-4467865481680090 MyEclipse4.1.1GA for Eclipse3.1.X License name: hehe License Key: uLR8ZC-956-55-5467865991428004 MyEclipse3.8.4 for Eclipse3.0.X iwdc vAR7ZL-819-56-5467865451894096 hello uAR7ZL-819-56-54678656892787632 csdn pAR7ZL-819-56-5467865261354715 还是进入“首选项”,左边找到“myeclipse”—》“application servers”—》“tomcat5”,下面就是输入你的安装路径,点“应用”、“确定”。 六、搞定!兄弟,还有,你给的分是不是有点。。。。呵呵!

jdk1.6新特性

一:Desktop类和SystemTray类在JDK6中 ,AWT新增加了两个类:Desktop和SystemTray。前者可以用来打开系统默认浏览器浏览指定的URL,打开系统默认邮件客户端给指定的邮箱发邮件,用默认应用程序打开或文件(比如,用记事本打开以txt为后缀名的文件),用系统默认的打印机打印文档;后者可以用来在系统托盘区创建一个托盘程序.二:使用JAXB2来实现对象与XML之间的映射JAXB是Java Architecture for XML Binding的缩写,可以将一个Java对象转变成为XML格式,反之亦然。我们把对象与关系数据库之间的映射称为ORM, 其实也可以把对象与XML之间的映射称为OXM(Object XML Mapping). 原来JAXB是Java EE的一部分,在JDK6中,SUN将其放到了Java SE中,这也是SUN的一贯做法。JDK6中自带的这个JAXB版本是2.0, 比起1.0(JSR 31)来,JAXB2(JSR 222)用JDK5的新特性Annotation来标识要作绑定的类和属性等,这就极大简化了开发的工作量。实际上,在Java EE 5.0中,EJB和Web Services也通过Annotation来简化开发工作。另外,JAXB2在底层是用StAX(JSR 173)来处理XML文档。除了JAXB之外,我们还可以通过XMLBeans和Castor等来实现同样的功能。三:理解StAXStAX(JSR 173)是JDK6.0中除了DOM和SAX之外的又一种处理XML文档的API。StAX 的来历 :在JAXP1.3(JSR 206)有两种处理XML文档的方法:DOM(Document Object Model)和SAX(Simple API for XML).由于JDK6.0中的JAXB2(JSR 222)和JAX-WS 2.0(JSR 224)都会用到StAX所以Sun决定把StAX加入到JAXP家族当中来,并将JAXP的版本升级到1.4(JAXP1.4是JAXP1.3的维护版本). JDK6里面JAXP的版本就是1.4. 。StAX是The Streaming API for XML的缩写,一种利用拉模式解析(pull-parsing)XML文档的API.StAX通过提供一种基于事件迭代器(Iterator)的API让程序员去控制xml文档解析过程,程序遍历这个事件迭代器去处理每一个解析事件,解析事件可以看做是程序拉出来的,也就是程序促使解析器产生一个解析事件然后处理该事件,之后又促使解析器产生下一个解析事件,如此循环直到碰到文档结束符;SAX也是基于事件处理xml文档,但却是用推模式解析,解析器解析完整个xml文档后,才产生解析事件,然后推给程序去处理这些事件;DOM采用的方式是将整个xml文档映射到一颗内存树,这样就可以很容易地得到父节点和子结点以及兄弟节点的数据,但如果文档很大,将会严重影响性能。四:使用Compiler API现在我 们可以用JDK6 的Compiler API(JSR 199)去动态编译Java源文件,Compiler API结合反射功能就可以实现动态的产生Java代码并编译执行这些代码,有点动态语言的特征。这个特性对于某些需要用到动态编译的应用程序相当有用, 比如JSP Web Server,当我们手动修改JSP后,是不希望需要重启Web Server才可以看到效果的,这时候我们就可以用Compiler API来实现动态编译JSP文件,当然,现在的JSP Web Server也是支持JSP热部署的,现在的JSP Web Server通过在运行期间通过Runtime.exec或ProcessBuilder来调用javac来编译代码,这种方式需要我们产生另一个进程去做编译工作,不够优雅而且容易使代码依赖与特定的操作系统;Compiler API通过一套易用的标准的API提供了更加丰富的方式去做动态编译,而且是跨平台的。五:轻量级Http Server API JDK6 提供了一个简单的Http Server API,据此我们可以构建自己的嵌入式Http Server,它支持Http和Https协议,提供了HTTP1.1的部分实现,没有被实现的那部分可以通过扩展已有的Http Server API来实现,程序员必须自己实现HttpHandler接口,HttpServer会调用HttpHandler实现类的回调方法来处理客户端请求,在这里,我们把一个Http请求和它的响应称为一个交换,包装成HttpExchange类,HttpServer负责将HttpExchange传给 HttpHandler实现类的回调方法.六:插入式注解处理API(Pluggable Annotation Processing API)插入式注解处理API(JSR 269)提供一套标准API来处理Annotations(JSR 175)实际上JSR 269不仅仅用来处理Annotation,我觉得更强大的功能是它建立了Java 语言本身的一个模型,它把method, package, constructor, type, variable, enum, annotation等Java语言元素映射为Types和Elements(两者有什么区别?), 从而将Java语言的语义映射成为对象, 我们可以在javax.lang.model包下面可以看到这些类. 所以我们可以利用JSR 269提供的API来构建一个功能丰富的元编程(metaprogramming)环境.JSR 269用Annotation Processor在编译期间而不是运行期间处理Annotation, Annotation Processor相当于编译器的一个插件,所以称为插入式注解处理.如果Annotation Processor处理Annotation时(执行process方法)产生了新的Java代码,编译器会再调用一次Annotation Processor,如果第二次处理还有新代码产生,就会接着调用Annotation Processor,直到没有新代码产生为止.每执行一次process()方法被称为一个"round",这样整个Annotation processing过程可以看作是一个round的序列.JSR 269主要被设计成为针对Tools或者容器的API. 举个例子,我们想建立一套基于Annotation的单元测试框架(如TestNG),在测试类里面用Annotation来标识测试期间需要执行的测试方法。七:用Console开发控制台程序JDK6中提供了java.io.Console 类专用来访问基于字符的控制台设备. 你的程序如果要与Windows下的cmd或者Linux下的Terminal交互,就可以用Console类代劳. 但我们不总是能得到可用的Console, 一个JVM是否有可用的Console依赖于底层平台和JVM如何被调用. 如果JVM是在交互式命令行(比如Windows的cmd)中启动的,并且输入输出没有重定向到另外的地方,那么就可以得到一个可用的Console实例.八:对脚本语言的支持如: ruby, groovy, javascript.九:Common AnnotationsCommon annotations原本是Java EE 5.0(JSR 244)规范的一部分,现在SUN把它的一部分放到了Java SE 6.0中.随着Annotation元数据功能(JSR 175)加入到Java SE 5.0里面,很多Java 技术(比如EJB,Web Services)都会用Annotation部分代替XML文件来配置运行参数(或者说是支持声明式编程,如EJB的声明式事务), 如果这些技术为通用目的都单独定义了自己的Annotations,显然有点重复建设, 所以,为其他相关的Java技术定义一套公共的Annotation是有价值的,可以避免重复建设的同时,也保证Java SE和Java EE 各种技术的一致性.下面列举出Common Annotations 1.0里面的10个Annotations Common Annotations Annotation Retention Target DescriptionGenerated Source ANNOTATION_TYPE, CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE 用于标注生成的源代码 Resource Runtime TYPE, METHOD, FIELD 用于标注所依赖的资源,容器据此注入外部资源依赖,有基于字段的注入和基于setter方法的注入两种方式 Resources Runtime TYPE 同时标注多个外部依赖,容器会把所有这些外部依赖注入PostConstruct Runtime METHOD 标注当容器注入所有依赖之后运行的方法,用来进行依赖注入后的初始化工作,只有一个方法可以标注为PostConstructPreDestroy Runtime METHOD 当对象实例将要被从容器当中删掉之前,要执行的回调方法要标注为PreDestroy RunAs Runtime TYPE 用于标注用什么安全角色来执行被标注类的方法,这个安全角色必须和Container 的Security角色一致的。RolesAllowed Runtime TYPE, METHOD 用于标注允许执行被标注类或方法的安全角色,这个安全角色必须和Container 的Security角色一致的PermitAll Runtime TYPE, METHOD 允许所有角色执行被标注的类或方法DenyAll Runtime TYPE, METHOD 不允许任何角色执行被标注的类或方法,表明该类或方法不能在Java EE容器里面运行 DeclareRoles Runtime TYPE 用来定义可以被应用程序检验的安全角色,通常用isUserInRole来检验安全角色注意: 1.RolesAllowed,PermitAll,DenyAll不能同时应用到一个类或方法上2.标注在方法上的RolesAllowed,PermitAll,DenyAll会覆盖标注在类上的RolesAllowed,PermitAll,DenyAll3.RunAs,RolesAllowed,PermitAll,DenyAll和DeclareRoles还没有加到Java SE 6.0上来 4. 处理以上Annotations的工作是由Java EE容器来做, Java SE 6.0只是包含了上面表格的前五种Annotations的定义类,并没有包含处理这些Annotations的引擎,这个工作可以由Pluggable Annotation Processing API(JSR 269)来做

Java编程之jdk1.4,jdk1.5和jdk1.6的区别分析

jdk6和jdk5相比的新特性有:1、instrumentation在JavaSE6里面,instrumentation包被赋予了更强大的功能:启动后的instrument、本地代码instrument,以及动态改变classpath等等。2、Http有所增强3、Java管理扩展(JMX)架构及其框架,以及在JavaSE5中新引入的JMXAPI--java.lang.management包4、JDK6中新增加编译器API(JSR199)。利用此API,您可以在运行时调用Java编译器,可以编译不同形式的源代码文件,还可以采集编译器的诊断信息。5、JavaDB和JDBC4.06、对脚本语言的支持JavaSE6新引入的对JSR223的支持,它旨在定义一个统一的规范,使得Java应用程序可以通过一套固定的接口与各种脚本引擎交互,从而达到在Java平台上调用各种脚本语言的目的。7、XMLAPI与Web服务JavaSE6中提供的XML处理框架,以及在此框架之上结合注释(Annotation)技术,所提供的强大的针对Web服务的支持要详细的可以参看:七、XMLAPI与Web服务

“java jdk 1.6“这软件怎么用

呵呵,楼上说的够详细的啦,不过我补充一句:环境变量的设置(教人要教最关键的)。 jdk的东西,初学不需要精通,知道它是用来做java开发的就可以了。 设置环境变量: 1.首先,我们要安装jdk,呵呵,注意你的安装目录,最好自定义一下,以后好找,别到最后了,连安装到哪里都不知道。好像它会自动先安装jdk,安装好后,提示你安装jre。都安装上,同一个目录下就可以。如:我的安装目录是:D:\programer\Java。在这个目录下会有你刚才安装的jdk和jre,并且都标示有版本号,我的是:1.5的。不过,道理一样。 2.配置你的环境变量:有3个值需要配置。右键点击“我的电脑”—》“属性”—》“高级”—》“环境变量”—》单击“系统变量”下的“新建”按钮,依次新建“classpath”“java_home”“path”环境变量,他们的值分别为: java_home=D:\programer\Java\jdk1.5.0_06 classpath=.\;D:\programer\Java\jdk1.5.0_06lib\tools.jar;D:\programer\Java\jdk1.5.0_06\lib\dt.jar;D:\programer\Java\jdk1.5.0_06\jre\lib path=D:\programer\Java\jdk1.5.0_06\bin (如果你的电脑已经有了path系统变量,则直接在后面加上这个值即可) 以上3值的设定,请注意比较我的安装路径。千万不要直接照抄! 3、测试jdk的安装: “开始”—》“运行”—》输入“cmd”进入DOS—》分别输入“java”和“javac” 如出现一系列参数,则,安装正常…… 4.其实,你要进行java的开发,仅有jdk,虽然可以,但不方便,建议安装eclipse,并且使用myeclipse,我的理解是myeclipse是eclipse的一个插件,如果有问题,问我。安装myeclipse时,如果你的电脑主题使用了别的,或是使用了美化包,建议全部关闭,使之成为最原始的windows经典主题。否则,会死翘翘滴。。。。。安装完后,主题可以再变回来,如果你要进行桌面程序的开发如:使用SWT+JFACE,建议还是使用默认的windows经典主题,否则,设计界面会有问题。 呵呵,干脆,我把关于java所需要的一些列软件的安装,都告诉你吧,看样你是初学java。这样会使你的学习过程比较有乐趣,想当年,我一个人研究的myeclipse的平台,连个帮我的人都没有,那个迷茫,那个郁闷,我都想放弃了。这可是当年搞定myeclipse时保存下来的心得,全部给你把。有问题找我。具体软件的下载,你先自己找找看吧,对了,你的E文好吗? 要去官方网站上下,或是使用myecli自带的help_》help contents里面自己找。建议先使用我推荐的版本,然后自己熟了,在逐渐摸索。 一、tomcat的安装和配置 1、安装版本:jakarta-tomcat-5.0.28.exe (core版) 2、配置系统环境变量: 设:我的安装路径为:D:\programer\Tomcat 5.0 则:右键点击“我的电脑”—》“属性”—》“高级”—》“环境变量”—》单击“系统变量”下的“新建”按钮,新建“tomcat_home”环境变量,它的值为: tomcat_home=D:\programer\Tomcat 5.0 以上值的设定,请注意比较我的安装路径。 3、测试运行tomcat的安装: 可直接双击托盘内tomcat的小图标,或到安装目录下找到“tomcat5w.exe”,双击,即可弹出tomcat的运行界面。他的路径为D:\programer\Tomcat 5.0 \bin\tomcat5w.exe 测试:打开ie,输入“呵呵!

java jdk1.6环境下实现 ftp文件上传

通过JDK自带的API实现 package com.cloudpower.util; import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException; import sun.net.TelnetInputStream;import sun.net.TelnetOutputStream;import sun.net.ftp.FtpClient; /** * Java自带的API对FTP的操作 * @Title:Ftp.java * @author: 周玲斌 */public class Ftp { /** * 本地文件名 */ private String localfilename; /** * 远程文件名 */ private String remotefilename; /** * FTP客户端 */ private FtpClient ftpClient; /** * 服务器连接 * @param ip 服务器IP * @param port 服务器端口 * @param user 用户名 * @param password 密码 * @param path 服务器路径 * @author 周玲斌 * @date 2012-7-11 */ public void connectServer(String ip, int port, String user, String password, String path) { try { /* ******连接服务器的两种方法*******/ //第一种方法// ftpClient = new FtpClient();// ftpClient.openServer(ip, port); //第二种方法 ftpClient = new FtpClient(ip); ftpClient.login(user, password); // 设置成2进制传输 ftpClient.binary(); System.out.println("login success!"); if (path.length() != 0){ //把远程系统上的目录切换到参数path所指定的目录 ftpClient.cd(path); } ftpClient.binary(); } catch (IOException ex) { ex.printStackTrace(); throw new RuntimeException(ex); } } /** * 关闭连接 * @author 周玲斌 * @date 2012-7-11 */ public void closeConnect() { try { ftpClient.closeServer(); System.out.println("disconnect success"); } catch (IOException ex) { System.out.println("not disconnect"); ex.printStackTrace(); throw new RuntimeException(ex); } } /** * 上传文件 * @param localFile 本地文件 * @param remoteFile 远程文件 * @author 周玲斌 * @date 2012-7-11 */ public void upload(String localFile, String remoteFile) { this.localfilename = localFile; this.remotefilename = remoteFile; TelnetOutputStream os = null; FileInputStream is = null; try { //将远程文件加入输出流中 os = ftpClient.put(this.remotefilename); //获取本地文件的输入流 File file_in = new File(this.localfilename); is = new FileInputStream(file_in); //创建一个缓冲区 byte; int c; while ((c = is.read(bytes)) != -1) { os.write(bytes, 0, c); } System.out.println("upload success"); } catch (IOException ex) { System.out.println("not upload"); ex.printStackTrace(); throw new RuntimeException(ex); } finally{ try { if(is != null){ is.close(); } } catch (IOException e) { e.printStackTrace(); } finally { try { if(os != null){ os.close(); } } catch (IOException e) { e.printStackTrace(); } } } } /** * 下载文件 * @param remoteFile 远程文件路径(服务器端) * @param localFile 本地文件路径(客户端) * @author 周玲斌 * @date 2012-7-11 */ public void download(String remoteFile, String localFile) { TelnetInputStream is = null; FileOutputStream os = null; try { //获取远程机器上的文件filename,借助TelnetInputStream把该文件传送到本地。 is = ftpClient.get(remoteFile); File file_in = new File(localFile); os = new FileOutputStream(file_in); byte; int c; while ((c = is.read(bytes)) != -1) { os.write(bytes, 0, c); } System.out.println("download success"); } catch (IOException ex) { System.out.println("not download"); ex.printStackTrace(); throw new RuntimeException(ex); } finally{ try { if(is != null){ is.close(); } } catch (IOException e) { e.printStackTrace(); } finally { try { if(os != null){ os.close(); } } catch (IOException e) { e.printStackTrace(); } } } } public static void main(String agrs) { String filepath = { "/temp/aa.txt", "/temp/regist.log"}; String localfilepath = { "C:\\tmp\\1.txt","C:\\tmp\\2.log"}; Ftp fu = new Ftp(); /* * 使用默认的端口号、用户名、密码以及根目录连接FTP服务器 */ fu.connectServer("127.0.0.1", 22, "anonymous", "IEUser@", "/temp"); //下载 for (int i = 0; i 《 filepath.length; i++) { fu.download(filepath); } String localfile = "E:\\号码.txt"; String remotefile = "/temp/哈哈.txt"; //上传 fu.upload(localfile, remotefile); fu.closeConnect(); }}

文章分享结束,jdk1 6和就职的公司居然还在用Java 1.6,该不该换公司的答案你都知道了吗?欢迎再次光临本站哦!

jdk1 6(就职的公司居然还在用Java 1.6,该不该换公司)

本文编辑:admin
jdk1 6

更多文章:


荣耀v10尺寸参数(华为荣耀v10多长)

荣耀v10尺寸参数(华为荣耀v10多长)

本文目录华为荣耀v10多长华为荣耀V10 手机的尺寸大小是多少华为荣耀v10多长荣耀v10的机身重量:约172克(含电池)备注:实际重量依配置、制造工艺、测量方法的不同可能有所差异。机身尺寸:157.00mm(长)×74.98mm(宽)×6

2024年6月26日 01:00

iqooneo3钢化膜(手机钢化膜碎了iqooneo3对屏幕有影响吗)

iqooneo3钢化膜(手机钢化膜碎了iqooneo3对屏幕有影响吗)

本文目录手机钢化膜碎了iqooneo3对屏幕有影响吗iqooz3钢化膜和啥一样iqoo neo3免费贴膜能用自己带的膜贴吗iqoo3通用膜有什么型号手机钢化膜碎了iqooneo3对屏幕有影响吗您好,钢化膜碎了对手机屏幕是没有影响的,只是视觉

2024年6月16日 17:22

nexus什么牌子(成人带的智能手表可插sim卡的,有哪些品牌可靠一点)

nexus什么牌子(成人带的智能手表可插sim卡的,有哪些品牌可靠一点)

本文目录成人带的智能手表可插sim卡的,有哪些品牌可靠一点Nexus是哪家公司的品牌nexus是什么牌子已经出到几了国内有卖吗自行车内变速器是英文nexus 是什么牌子成人带的智能手表可插sim卡的,有哪些品牌可靠一点现在智能手表的种类很多

2024年5月21日 04:27

联想风扇除尘软件下载(怎么利用内置风扇给联想笔记本一键除尘)

联想风扇除尘软件下载(怎么利用内置风扇给联想笔记本一键除尘)

本文目录怎么利用内置风扇给联想笔记本一键除尘联想笔记本怎么利用内置风扇除尘联想笔记本如何利用内置风扇除尘联想电脑的电池管理软件里面的风扇除尘怎么不见了联想小新电脑怎么开启风扇除尘联想y410p除尘的东东被我删了怎么找回来联想笔记本重装系统后

2024年4月13日 21:30

vivo手机官网查询激活时间(如何查看vivo手机激活时间)

vivo手机官网查询激活时间(如何查看vivo手机激活时间)

本文目录如何查看vivo手机激活时间vivo手机怎么看激活日期和出厂日期vivo手机激活日期查询方法有哪些如何查询vivo手机的激活时间如何查询vivo手机的初次激活时间vivo手机激活时间查询vivo手机激活时间在哪里看查询vivo手机首

2024年7月18日 04:47

荣耀畅玩6x说明书(荣耀6x具体参数谁有)

荣耀畅玩6x说明书(荣耀6x具体参数谁有)

本文目录荣耀6x具体参数谁有华为新出的荣耀畅玩6X配置参数是什么呢荣耀畅玩6X配置参数是什么华为新出的荣耀畅玩6X配置参数是什么呢华为荣耀6x配置参数华为荣耀6X参数是多少下载了华为荣耀畅玩6X用户指南,百页之后 ,怎样看荣耀6x具体参数谁

2024年7月28日 01:35

魅蓝note5卡刷教程(魅蓝note5如何手动刷机)

魅蓝note5卡刷教程(魅蓝note5如何手动刷机)

本文目录魅蓝note5如何手动刷机魅蓝note5如何手动刷机魅族note5刷机步骤魅蓝note5怎么进入刷机方式魅蓝note5该怎么刷机及完全root过程魅蓝note5如何手动刷机魅蓝Note 5如果要换系统,怎么进行刷机魅蓝5怎么刷机魅蓝

2024年6月3日 11:16

vivo手机x70pro参数(vivox70pro+参数配置表)

vivo手机x70pro参数(vivox70pro+参数配置表)

本文目录vivox70pro+参数配置表vivox70pro怎么查看电池容量vivox70pro+参数配置表vivo X70 Pro+主要参数介绍如下:操作系统:基于Android 11开发的OriginOS 1.0屏幕:6.78英寸,分辨

2024年1月9日 07:30

小米电视3s拆机(小米电视3S怎样恢复出厂设置)

小米电视3s拆机(小米电视3S怎样恢复出厂设置)

本文目录小米电视3S怎样恢复出厂设置小米电视3s后盖怎么拆,就是无法全部拆下!!小米电视3S 48寸的金色边框太难看,有什么办法可以把它变成黑色的小米电视拆机内存小米电视3s 55寸怎么拆开!后盖螺丝卸完也打不开!扣的很紧掰不开呀!有知道的

2024年6月2日 05:40

华为p1售价(华为p1要多少钱)

华为p1售价(华为p1要多少钱)

本文目录华为p1要多少钱我想在明年买华为P1,但不知道大概要多少钱勿答非所问华为p1多少钱华为p1要多少钱p1xl是2200吧 p1网上1900至2000的价位 除了xl电板多了近1000毫安 配置都一样 但就是xl电池大 所以后

2023年11月7日 13:10

步步高i509音质(BBK I509怎么样)

步步高i509音质(BBK I509怎么样)

本文目录BBK I509怎么样给我推荐一款步步高手机步步高i509后盖松了导致音质差怎么办,把后盖取下来音质就特别好步步高i509声音怎么调高我是一个6年级的女学生要买一款翻盖手机我看上了步步高的i509、i508还有LG的棒棒糖,希望大家

2024年1月14日 12:45

苹果手机产品系列(请问苹果一共有几代手机)

苹果手机产品系列(请问苹果一共有几代手机)

本文目录请问苹果一共有几代手机苹果手机所有产品有哪些请问苹果一共有几代手机截止2020年3月,苹果手机一共13代。 苹果iPhone是苹果公司研发及销售的智能手机系列,搭载着苹果公司自行研发的iOS移动操作系统,第一代iPhone于2007

2024年6月12日 17:04

lg手机音质(lgv50 5g外放声音大吗)

lg手机音质(lgv50 5g外放声音大吗)

本文目录lgv50 5g外放声音大吗LG哪款手机音质好lgv50 5g外放声音大吗lgv50 5g外放声音大,lgv50 5g采用boombox扬声器,带DTS音效,效果很好,音量开到最大有点太大了受不了。lgv50 5g音响效果顶级,开了

2024年7月11日 04:11

一加8t是双卡双待吗(一加8T已经发布,这款手机的配置怎样)

一加8t是双卡双待吗(一加8T已经发布,这款手机的配置怎样)

本文目录一加8T已经发布,这款手机的配置怎样一加手机是双卡双待吗1+8t手机参数1+8手机可以插几个卡一加8T是一款怎样的手机一加8T已经发布,这款手机的配置怎样前段时间,一加8T已经正式发布,不少网友都表示,这是一款“真相机”,配置非常不

2024年6月3日 10:39

ipadmini2怎么变流畅(iPad mini2上网速度慢怎么办)

ipadmini2怎么变流畅(iPad mini2上网速度慢怎么办)

本文目录iPad mini2上网速度慢怎么办ipad2卡顿怎么办下面5个步骤帮你解决ipad mini2运行慢怎么处理ipad mini2怎么变流畅ipadmini2玩游戏fps低怎么办iPad mini2上网速度慢怎么办1,无线设置-无线

2024年7月30日 20:40

华为手机管家下载(华为p7系统自带手机管家怎样下载)

华为手机管家下载(华为p7系统自带手机管家怎样下载)

本文目录华为p7系统自带手机管家怎样下载华为手机怎么装不了华为手机管家华为p7系统自带手机管家怎样下载华为p7手机管家的下载方法:解锁手机,进入手机桌面。在手机桌面找到华为手机自带的“华为应用市场”,点击进入。进入华为手机应用市场之后,在搜

2024年5月21日 08:09

苹果id密码修改官网(appleid.applecom/zh_cn如何重设密码)

苹果id密码修改官网(appleid.applecom/zh_cn如何重设密码)

本文目录appleid.applecom/zh_cn如何重设密码苹果id密码在哪里修改苹果id密码修改官网苹果官网apple id怎么修改appleid.applecom/zh_cn如何重设密码1、首先百度搜索“我的Apple ID”,进入

2023年7月21日 06:00

荣耀50和荣耀70哪个值得入手(p50e和荣耀70对比哪个好p50e和荣耀70对比哪个好)

荣耀50和荣耀70哪个值得入手(p50e和荣耀70对比哪个好p50e和荣耀70对比哪个好)

大家好,荣耀50和荣耀70哪个值得入手相信很多的网友都不是很明白,包括p50e和荣耀70对比哪个好p50e和荣耀70对比哪个好也是一样,不过没有关系,接下来就来为大家分享关于荣耀50和荣耀70哪个值得入手和p50e和荣耀70对比哪个好p50

2024年8月12日 23:40

红米2a手机卡怎么装(红米手机卡槽怎么装卡)

红米2a手机卡怎么装(红米手机卡槽怎么装卡)

本文目录红米手机卡槽怎么装卡小米2a手机卡如何安装红米手机怎么放手机卡红米手机怎样安装手机卡红米手机手机卡怎么放进去红米手机电话卡怎么装红米手机怎么安装sim卡红米手机卡槽怎么装卡手机卡槽一般在手机的侧面或底部,用取卡针插入卡座卡拖会自动弹

2024年7月16日 18:37

小米手机安卓版官方网站(小米手机安卓版本在哪里看)

小米手机安卓版官方网站(小米手机安卓版本在哪里看)

本文目录小米手机安卓版本在哪里看小米安卓原生安卓4.0到哪里下载,给个网址小米手机的安卓是正版么今天打开小米手机我叫MT游戏 安卓版提示:客户端版本过低,请及时更新游戏,不知道怎么更新我的小米手机怎么用安卓系统阿小米手机怎样下载上海迪士尼官

2024年6月29日 09:24

近期文章

iphone 7 plus ios15(iphone7plus可以升级ios15.6)
2024-10-23 17:10:05
本站热文

电脑包尺寸对照表(电脑包要多大)
2024-07-23 11:15:58 浏览:3883
e10000(皖E10000是什么车)
2024-07-17 11:22:25 浏览:3506
ati radeon hd 5650(电脑的显卡是ATI Mobility Radeon HD 5650 (MADION PRO) ( 1 GB ) 这个显卡)
2024-07-07 05:01:37 浏览:3100
华为mate20pro版本区别(mate20pro有必要买ud版吗)
2024-07-24 08:26:42 浏览:2630
ipad买蜂窝版还是wifi版(ipad air 5买蜂窝好不好)
2024-07-17 14:35:19 浏览:2237
vivo y3配置参数(vivoy3参数是什么)
2024-07-16 07:07:06 浏览:2071
标签列表

热门搜索