大家好,又见面了,我是你们的朋友全栈君。 I am able to read private key from PFX file but not public key.....509”); BufferedInputStream bis = new BufferedInputStream(inStream); // if (bis.available() > 0) { java.security.cert.Certificate
但是这样的程序每一个程序员的实现过程、标准都完全不同,为了能够让这样框架有一个统一的标准,于是出现了Portal,基于Java的Portal的标准发展到今天已经是2.0的规范了(JSR-286),遵守这一规范的服务器框架实现也有了不少...Portlet:一个Portlet是一个基于Java技术的Web组件,由Portlet容器负责管理,能够处理请求和产生动态的内容输出。...Portlet Instance:Portlet实例,一个Portlet对象,能够放置在多个页面中显示相同的状态。...这些内容之间的关系是:一个Portal上可以运行很多个Portlet容器,每一个Portlet容器中可以包含很多个Portlet页面,每一个Portlet页面中可以显示无数个Portlet的动态内容。...如上所述的就是Portal的一些概念,那么接下来我们需要知道的就是支持Portal的服务器(JBoss Portal)如何获取、安装、配置,我们又如何在这样的服务器中编写我们自己的Portlet页面和Portlet
前面两章介绍了 MinIO 文件服务器的环境搭建,以及在 Java 中上传文件至 MinIO 文件服务器中,现在,一起来看下如何从 MinIO 文件服务器中下载文件吧 1、获取文件对象 我们在 MinIO...工具类中,获取文件对象的方法,即获取文件的输入流对象 /** * 获取文件 * * @param bucketName bucket名称 * @param objectName 文件名称 * @return...objectName,是指文件的路径,即存储桶下文件的相对路径 例如,图片的地址为 http://127.0.0.1:9000/bucketName/20200806/1596681603481809....png 那么 objectName 就为 20200806/1596681603481809.png 2、下载文件 我们需要编写一个 API 来进行访问从而下载文件 /** * 获取文件 * * @param...fileUrl 为文件的绝对路径,即可以直接访问的路径,还需要通过此路径,截取得到文件的相对路径(即去掉 IP 地址和端口,去掉存储桶名称的路径) 3、测试 通过访问 API http://127.0.0.1
采用的技术 Java Spring Aspect-Oriented Framework ACEGI – Aspect-Oriented Security Framework MyFaces...JSR-168 Portlet Specification JSR-127 Java Server Faces FTP WebDAV Web Services REST 更多的技术规范详见...: http://www.alfresco.com/products/ecm/specifications/ 二、配置解读 1、从web.xml开始入手 其它的略过,在 web.xml 中可以看到加载了如下...于是后来才发现这个文件是在 remote-api.jar 包里,晕,不是很好的做法啊。.... ---- 在这里编辑太慢了而且比较乱,索性还是自己做成PDF上传了 AlfrescoDatabase.rar (72.5 KB) 描述: Alfresco Database Model 下载次数:
参考链接: Java InputStream类 io流概述: IO流用来处理设备之间的数据传输,上传文件和下载文件,Java对数据的操作是通过流的方式,Java用于操作流的对象都在IO包中。 ...byte[] b) public void write(byte[] b,int off,int len) 从方法中可看出,只能通过字节写出 outputStream.write("hello".getBytes...[] b)返回的是读到的字节个数,读到的字节放在了bytes字节数组里,读到末尾没数据了返回-1。 ... 利用输入流读取一个文件里的字节,再利用输出流将读取到的字节写出到另一个文件中(不存在会自动创建) package io2; import java.io.FileInputStream; import...字节流一次读写一个数组的速度明显比一次读写一个字节的速度快很多,这是加入了数组这样的缓冲区效果。
io流概述: IO流用来处理设备之间的数据传输,上传文件和下载文件,Java对数据的操作是通过流的方式,Java用于操作流的对象都在IO包中。...[] b) public void write(byte[] b,int off,int len) 从方法中可看出,只能通过字节写出 outputStream.write("hello".getBytes...[] b)返回的是读到的字节个数,读到的字节放在了bytes字节数组里,读到末尾没数据了返回-1。...利用输入流读取一个文件里的字节,再利用输出流将读取到的字节写出到另一个文件中(不存在会自动创建) package io2; import java.io.FileInputStream; import...字节流一次读写一个数组的速度明显比一次读写一个字节的速度快很多,这是加入了数组这样的缓冲区效果。 java本身在设计的时候,也考虑到了这样的设计思想(装饰设计模式后面讲解),所以提供了字节缓冲区流。
大家好,又见面了,我是你们的朋友全栈君。 io流概述: IO流用来处理设备之间的数据传输,上传文件和下载文件,Java对数据的操作是通过流的方式,Java用于操作流的对象都在IO包中。...[] b) public void write(byte[] b,int off,int len) 从方法中可看出,只能通过字节写出 outputStream.write("hello".getBytes...[] b)返回的是读到的字节个数,读到的字节放在了bytes字节数组里,读到末尾没数据了返回-1。...利用输入流读取一个文件里的字节,再利用输出流将读取到的字节写出到另一个文件中(不存在会自动创建) package io2; import java.io.FileInputStream; import...字节流一次读写一个数组的速度明显比一次读写一个字节的速度快很多,这是加入了数组这样的缓冲区效果。 java本身在设计的时候,也考虑到了这样的设计思想(装饰设计模式后面讲解),所以提供了字节缓冲区流。
Spring是一个轻量级Java开发框架,致力于简化Java开发。 Spring 总共大约有 20 个模块, 由 1300 多个不同的文件构成。...该语言支持设置和获取属性值、属性分配、方法调用、访问数组、集合和索引器的内容、逻辑和算术运算、变量命名以及从Spring的IOC容器中以名称检索对象。它还支持列表投影、选择以及常用的列表聚合。...主要作用是在 JVM 启用时, 生成一个代理类, 程序员通过代理类在运行时修改类的字节, 从而改变一个类的功能, 实现 AOP 的功能。...集成类、文件上传的支持类、Filter类和大量辅助工具类。...portlet 模块:实现web模块功能的聚合,类似于Servlet模块的功能,提供了Portlet环境下的MVC实现。
IO 流在 Java 中分为输入流和输出流,而根据数据的处理方式又分为字节流和字符流。 Java IO 流的 40 多个类都是从如下 4 个抽象类基类中派生出来的。...字节流 InputStream(字节输入流) InputStream用于从源头(通常是文件)读取数据(字节信息)到内存中,java.io.InputStream抽象类是所有字节输入流的父类。...read(byte b[ ]) : 从输入流中读取一些字节存储到数组 b 中。如果数组 b 的长度为零,则不读取。如果没有可用字节读取,返回 -1。...从 Java 9 开始,InputStream 新增加了多个实用的方法: readAllBytes() :读取输入流中的所有字节,返回字节数组。...Reader(字符输入流) Reader用于从源头(通常是文件)读取数据(字符信息)到内存中,java.io.Reader抽象类是所有字符输入流的父类。
以下是一些常见情况,您可能需要输出字节数据: 文件下载: 当用户需要下载文件时,您可以读取文件的字节数据并将其发送给客户端。...自定义数据格式: 如果您的应用程序使用自定义的二进制数据格式,您需要能够将这些数据以字节形式发送到客户端。 流式数据: 有时,数据可能是实时生成的,而不是从文件或数据库中读取的。...在这种情况下,您可以将数据以字节形式发送给客户端。 现在,让我们来看看如何在Java中实现这些功能。...结论 在Java Web应用程序中,输出字节数据是一项重要的任务,用于处理文件下载、图像显示、多媒体文件播放和流式数据传输等各种情况。...从文件下载到图像显示,Java的响应输出字节数据功能为Web开发提供了很大的灵活性和功能。
对文件的读取也是经常会遇到的操作,那么哪种方式效率更快呢,今天来做个测试。 首先能想到的就是,应该采用字节流对文件进行复制,文件可以是任何形式,如图片、视频、办公文档、压缩文件等等。...byte[] buf = new byte[1024]; int read = 0; //从文件中一次读取缓存中定义的字节...= -1){ //向文件中一次写入缓存中定义的字节数据 fos.write(buf, 0, read); }...,这种方式的效率,也明显优于单纯的使用字节节点流来实现文件的拷贝,但是相比缓存方式读取,效率还是较差。...,进一步提升了文件的读写效率,适当增大缓存数组,充分利用内存实现文件的极速复制。
概述 文件下载概览 隐藏资源 防止交叉引用 源码 概述 像静态资源,我们在浏览器中打开正确的URL即可下载,只要该资源不是放在WEB-INF目录下,Servlet/JSP容器就会将该资源发送到浏览器。...---- 文件下载概览 为了将像文件这样的资源发送到浏览器,需要在控制器中完成以下工作 1. 队请求处理方法使用void返回类型,并在方法中添加HttpServletRespinse参数 2....,首先要读取该文件作为FileInputStream,并将内容加载到一个字节数组。...随后,获取HttpServletResponse的OutputStream,并调用其write方法传入字节数组。 ---- 隐藏资源 ?...该示例演示如何向浏览器发送文件,由ResourceController类处理用户登录请求,并将WEB-INF/data目录下的artisan.pdf发送给浏览器。
下载 weblogic 安装包后,以管理员身份打开cmd控制台 执行完下面命令后,一路next就好 java -jar fmw_12.2.1.4.0_wls_lite_generic.jar 安装完成之后...在同一文件中,通过set DEBUG_PORT=8453 指定了远程调试的端口,拷贝Oracle_Home目录下所有文件至调试目录,配置 Remote 方式进行远程调试,端口为 8453 ?...跟进文件 jndibinding.portlet 看到程序最终调用 JNDIBindingAction 类 Oracle_Home/wlserver/server/lib/consoleapp/webapp...而context、bindName、serverName的值都是从bindingHandle中获取的,正巧我们可以控制JndiBindingHandle实例化的值(objectIdentifier),...String 数组。
许多应用程序需要提供在Excel中导出数据的功能,如果必须从Java应用程序执行相同操作,则需要Apache POI API。 ? 这是一个非常丰富的库,允许你 从Java程序读取和写入XLS文件。...Java应用程序中读取Excel文件的工作示例。...它是一个用于在Java中编辑字节码的类库。ASM是另一个有用的字节码编辑库。如果你不熟悉字节码,我建议你查看Introduction to Java Programmers以了解有关它的更多信息。...PDF库 与Microsoft Excel类似,PDF库是另一种普遍存在的格式。如果你需要在应用程序中支持PDF功能,例如 导出数据到PDF文件,则可以使用iText和Apache FOP库。...它通过提供特定类型的映射,集合,列表和优先级队列来扩展Java集合框架,较小的内存占用,快速访问和插入; 它还提供大型(64位)数组,集和列表,以及用于二进制和文本文件快速实用的I / O类。
459 //交叉引用表的字节偏移量 %%EOF //文件结束标记 从文件末尾向后读取trailer:找到文件结束标记, 提取交叉引用表的字节偏移量,然后解析trailer字典。...线性化的PDF 在网络环境中查看大型PDF文件时,尤其是当网速较慢时, 用户不希望等待整个文件下载后再查看它。在Web浏览器中查看文档时,这一点尤为重要。...如何读PDF文件 要读取PDF文件,将其从一系列字节转换为内存中的“对象图”,通常有如下步骤: 从文件开头读取PDF header,确认这确实是PDF文档并获取其版本号。...从文件末尾逆向检索,找到文件结束标记。然后读取trailer字典以及交叉引用表开关位置的字节偏移。 读取交叉引用表,获取每个对象在文件中的位置。...从1至n,重新对对象进行编号,其中n是文件中对象的个数。 从1号对象开始,逐个输出对象。记录每个对象的字节偏移量,为后续写入交叉引用表作准备。 写入交叉引用表。
spring从07年接触到目前2018年也差不多10年了,一个java的框架为什么能火这么多年。...第一次接触spring是在07年接触它的。从java的编程生涯一直在用spring,目前还没去过那个公司没用spring的。...Spring 2.5中的主要新功能包括支持Java 6/Java EE 5,支持注释配置,classpath中的组件自动检测和兼容OSGi的bundle。...它是JSP2.1规范中定义的统一表达式语言的扩展,支持set和get属性值、属性赋值、方法调用、访问数组集合及索引的内容、逻辑算术运算、命名变量、通过名字从Spring IoC容器检索对象,还支持列表的投影...spring-webmvc-portlet模块(即Web-Portlet模块)提供了用于Portlet环境的MVC实现,并反映了spring-webmvc模块的功能。
Node 层返回的二进制文件流字符串并下载文件 这里我利用 Blob 实现文件拆分再合并下载的方法,算是第一次使用 我们最常见的应该是 Blob URL 技术,文件上传的预览、视频播放的 src,均是采用这种技术实现...Blob(blobParts[, options]) 返回一个新创建的 Blob 对象,其内容由参数中给定的数组串联组成 参数说明: blobParts:数组类型,数组中的每一项连接起来构成 Blob...blob 中的数组内容的 MIME 类型 MIME 参考手册 endings:用于指定包含行结束符\n的字符串如何被写入;可设置值:native、transparent;native:表示行结束符会被更改为适合宿主操作系统文件系统的换行符...如果你传入的是一个负数,那么这个偏移量将会从数据的末尾从后到前开始计算 举例来说: -10 将会是 Blob 的倒数第十个字节。...如果你传入了一个负数,那么这个偏移量将会从数据的末尾从后到前开始计算 举例来说: -10 将会是 Blob 的倒数第十个字节。
3个注解);Spring可以使用扫描机制来找到应用程序中所有基于注解的控制器类,为了保证Spring能找到你的控制器,需要在配置文件中声明组件扫描。...运行结果如下: 小结:从代码与运行结果可以看出BarController与FooController同时都指定了一个视图foo/index.jsp,但是页面结果的结果是不一样的,从这里可以看出视图是被复用的...用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。...="true",修改后的springmvc-servlet.xml文件如下: <!...——2018-10-24(程序猿节) 3、示例下载 点击下载示例 https://zhangguo5.coding.net/public/SpringMVCDemo/SpringMVCDemo/git
前端页面上有一个下载文件的功能,这个功能实现的基本逻辑是:后台用Java API读取一个文件成字节流 -> 用Java API将字节流转成Base64 encoded string -> 后台将这个string...之后用同样的逻辑实现二进制文件(pdf)的下载,结果下载下来的文件不能打开。这是什么原因呢?...对于问题的解释 回过头来解释上面遇到的两个问题。 第一个问题,为什么xml文件的下载没有问题,而pdf文件的下载却是打开乱码呢?...第二个问题,当我在xml文件里加入中文字符以后,这些中文字符在下载下来的文件中也是乱码。这又是什么原因呢?...同样的,我们先看正常显示和乱码显示文件的十六进制视图对比(注:下图是正常显示文件,上图是乱码显示文件): ? 从图上可以看出,字节e6被转成了utf-8对应的码c3a6。
来源 | blog.csdn.net/weixin_40986713 Java实现办公文件在线预览功能是一个大家在工作中也许会遇到的需求,网上些公司专门提供这样的服务,不过需要收费。...如果想要免费的,可以用openoffice,实现原理就是:通过第三方工具openoffice,将word、excel、ppt、txt等文件转换为pdf文件流; 当然如果装了Adobe Reader XI...1.到官网下载Apache OpenOffice 安装包,安装运行 2.在项目的pom文件中引入依赖 <!...(url,suffix); OutputStream outputStream = response.getOutputStream(); //创建存放文件内容的数组 byte[...=-1){ //将字节数组的数据全部写入到输出流中 outputStream.write(buff,0,n); } //强制将缓存区的数据进行输出
领取专属 10元无门槛券
手把手带您无忧上云