javaaip的简单介绍
今天给各位分享javaaip的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
java 中的AIP是什么?是做什么的?
智能文档的必要性
智能文档目前已经成为被全球软件业关注的又一个焦点。随着我国电子政务的快速发展和微软、 adobe的加入,智能文档的革命将愈演愈烈,点聚作为国内为数不多的拥有智能文档技术的公司之一,将为捍卫国产软件在智能文档的地位作出必要的贡献。
aip通用文档处理系统(dj universal all in page system)是北京点聚信息技术有限公司历经近两年时间自主开发完成的智能文档产品,点聚拥有全部的知识产权。
点聚aip通用文档处理系统通过虚拟打印技术来兼容各种文件格式(如:word、pdf、rtf、wps、jpg、autocad、txt...),达到排版、内容固定(纸质化),实现全文批注、全文检索、文字选取、电子印章、手写签名意见等主要功能,更可输出为word、wps、pdf等通用文档格式方便存档。
适用范围
文字版权保护
aip文件可以防止对文字的非法复制,可以控制文件的各种权限,有效的保护自己的文字版权,适用于电子图书馆、电子杂志、电子周刊、电子发文等。
版式文件
aip文件通过虚拟打印技术实现了纸质化,保持原来的版式固定,有利于文档的存档,适用于政府公文、企事业发文等。
全文批注
aip提供功能强大的全文审批、全文批注功能、支持压感,可以实现铅笔、钢笔、毛笔等效果,彻底实现无纸化办公,适用于政府公文审批、企事业发文审批等。
电子印章
aip内建支持标准pki体系(兼容第三方ca),实现电子印章的功能,有效防止非法的签章行为,适用于政府公文盖章、企事业发文盖章、税务、银行等需要盖章的单位。
主要技术挑战
挑战一
由于办公文档格式呈现的多样化,如何保证不同的办公软件生成的文件在审批、归档、查阅等流程中具有一致的表现形式和保存格式。aip通过虚拟打印技术兼容各种文档格式(也就是说:支持打印的文档都可以转化为aip)。
挑战二
带有审批意见的文档通常是专有格式文档,不便于发文流转。aip系统通过支持审批文档存储为通用格式(word,wps,pdf等)有效的解决了这个问题。
挑战三
采用虚拟打印技术的产品通常都不能很好的支持b/s架构。aip采用中间件技术(组件技术,浏览器自动安装),可以很方便得嵌入到各种环境和文档处理流程中。
点聚公司经过两年多的研发测试,终于使aip成为目前市场上唯一很好的解决了上述问题的产品。
JAVA的输入输出流是什么?有几种?
以下是个人理解。流可以分为字节流和字符流区别嘛,你去搞清楚字节和字符的区别就知道了。流,其实没必要认为太高深,字节流的输入流,就是InputStream,他有个read()方法,而且有很多重载read(byte[]b)什么的,就是把文件转换成字节,后一个方法就是把转换的字节放到一个byte数组中。例如你定义一个File file=new File("d:/test.txt");byte[]b=new byte[1024];FileInputStream fis=new FileInputStream(file);fis.read(b);fis.close();//b里现在就放的是从文件d:/test.txt读取的字节(当然这不太严谨,可能会有错误)//现在是输出流FileOutputStream fos=new FileOutputStream(new File("d:/target.txt"));//write方法这个是byte数组中的字节放到目的文件d:/target.txt中fos.write(b);fos.close();这个是很简单的写法,没考虑文件大小,出现数组越界千万别怪我,手敲代码很烦呢,可能有错误,自己慢慢体会,这个急不来
Java写的小游戏,怎么添加倒计时功能?
很久以前写过这么个:
//TimerLabel.java
package timerlabel;
import java.awt.Font;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import java.lang.Thread.State;
/**
* 计时标签
* @author Jeky
*/
public class TimerLabel extends JLabel {
private int maxTime;
private int count;
private static final int SECOND = 1000;
private static final int FONT_SIZE = 36;
private Thread thread;
private boolean pause;
private boolean start;
/**
* 新建一个计时标签
* @param maxTime 倒计时起始时间
*/
public TimerLabel(int maxTime) {
this.setHorizontalAlignment(JLabel.CENTER);
this.setFont(new Font("Times New Roman", Font.BOLD, FONT_SIZE));
this.pause = false;
setMaxTime(maxTime);
}
/**
* 修改倒计时起始时间
* @param maxTime 新的起始时间
*/
public void setMaxTime(int maxTime) {
if (this.start) {
return;
}
this.maxTime = maxTime;
this.count = maxTime;
initText();
this.thread = new Thread(new Runnable() {
@Override
public void run() {
while (count != 0) {
try {
if (!start) {
count = 0;
initText();
break;
}
if (!pause) {
Thread.sleep(SECOND);
count--;
initText();
}
} catch (InterruptedException ex) {
pause = true;
}
}
done();
}
});
this.start = false;
}
/**
* 倒计时完成后调用此方法
*/
protected void done() {
JOptionPane.showMessageDialog(this, "Time up!");
}
/**
* 标签字符由此方法设置
*/
protected void initText() {
String min = String.valueOf(count / 60);
String sec = String.valueOf(count % 60);
while (min.length() 2) {
min = "0" + min;
}
while (sec.length() 2) {
sec = "0" + sec;
}
this.setText(min + ":" + sec);
}
/**
* 暂停
*/
public void pause() {
if (start) {
thread.interrupt();
}
}
/**
* 检测标签倒计时是否开始
* @return 如果开始返回true
*/
public boolean isStart() {
return start;
}
/**
* 得到倒计时起始时间
* @return 倒计时起始时间
*/
public int getMaxTime() {
return maxTime;
}
/**
* 检测标签倒计时是否暂停
* @return 倒计时暂停返回true
*/
public boolean isPause() {
return pause;
}
/**
* 从暂停中恢复计时
*/
public void continueDo() {
if (this.pause) {
this.pause = false;
}
}
/**
* 取消计时
*/
public void stop() {
if (start) {
start = false;
}
}
/**
* 开始计时
*/
public void start() {
if (thread.getState().equals(State.NEW)) {
start = true;
thread.start();
} else if (thread.getState().equals(State.TERMINATED)) {
setMaxTime(maxTime);
start = true;
thread.start();
}
}
}
//演示程序 Test.java
package timerlabel;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
/**
* @author Jeky
*/
public class Test extends JFrame {
private TimerLabel label;
private static final int GAP = 10;
private JButton runButton;
private JButton pauseButton;
private JButton setButton;
private JButton stopButton;
private JTextField time;
public Test() {
label = new TimerLabel(10);
JPanel panel = new JPanel(new FlowLayout(FlowLayout.CENTER, GAP, GAP));
runButton = new JButton("Start");
runButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
label.start();
}
});
panel.add(runButton);
pauseButton = new JButton("Pause");
pauseButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (label.isStart()) {
if (!label.isPause()) {
label.pause();
pauseButton.setText("Continue");
} else {
label.continueDo();
pauseButton.setText("Pause");
}
}
}
});
panel.add(pauseButton);
time = new JTextField(10);
panel.add(time);
setButton = new JButton("setMaxTime");
setButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
label.setMaxTime(Integer.parseInt(time.getText()));
}
});
panel.add(setButton);
stopButton = new JButton("Stop");
stopButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
label.stop();
}
});
panel.add(stopButton);
this.getContentPane().add(label, BorderLayout.CENTER);
this.getContentPane().add(panel, BorderLayout.SOUTH);
this.setVisible(true);
this.setSize(500, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new Test();
}
}
试试吧
在java中如何用cookies 保存数据?
一、java保存写入Cookie
JSP程序片段如下:
//保存写入Cookie
<%
String cookieName="Sender";
Cookie cookie=new Cookie(cookieName, "Test_Content");
cookie.setMaxAge(10); //存活期为10秒
response.addCookie(cookie);
%>
解读一下这段代码:
Cookie cookie=new Cookie(cookieName, "Test_Content");
这一行建立了一个Cookie对象,初始化有两个参数,第一个参数cookieName定义了Cookie的名字,后一个参数,也是一个字符串,定义了Cookie的内容。也就是用户希望网页在用户的机器上标识的文件内容。
接下来一行:cookie.setMaxAge(10),调用了Cookie中的setMaxAge方法,设定Cookie在用户机器硬盘上的存活期为10秒。一个Cookie在用户的硬盘里面存在的时间并不是无限期的,在建立Cookie对象的时候,我们必须制定Cookie的存活期,超过了这个存活期后,Cookie文件就不再起作用,会被用户的浏览器自行删除。如果用户希望用户在下次访问这个页面的时候,Cookie文件仍然有效而且可以被网页读出来的话,用户可以将Cookie的存活期设得稍微长一些。比如cookie.setMaxAge(365*24*60*60)可以让Cookie文件在一年内有效。
二、 读取出Cookie
Cookie文件创建好后,自然还需要用户把它读出来,代码片段如下:
<%
Cookie cookies[]=request.getCookies(); //读出用户硬盘上的Cookie,并将所有的Cookie放到一个cookie对象数组里面
Cookie sCookie=null;
String svalue=null;
String sname=null;
for(int i=0;icookies.length-1;i++{ //用一个循环语句遍历刚才建立的Cookie对象数组
sCookie=cookies; //取出数组中的一个Cookie对象
sname=sCookie.getName(); //取得这个Cookie的名字
svalue=sCookie.getValue(); //取得这个Cookie的内容
%>
<%
}
%>
name value
<%=name%> <%=svalue%>
这一小段JSP文件可以读出用户硬盘上的所有有效的Cookie,也就是仍然在存活期内的Cookie文件。并用表格的形式列出每个Cookie的名字和内容。
解读一下这段代码:
Cookie cookies[]=request.getCookies() 我们用request.getCookies()读出用户硬盘上的Cookie,并将所有的Cookie放到一个cookie对象数组里面。
接下来我们用一个循环语句遍历刚才建立的Cookie对象数组,我们用sCookie=cookies取出数组中的一个Cookie对象,然后我们用sCookie.getValue()和sCookie.getName()两个方法来取得这个Cookie的名字和内容。
通过将取出来的Cookie的名字和内容放在字符串变量中,我们就能对其进行各种操作了。在上面的例子里,可通过循环语句的遍历,将所有Cookie放在一张表格中进行显示。
javaaip的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、javaaip的信息别忘了在本站进行查找喔。
发布于:2022-12-18,除非注明,否则均为
原创文章,转载请注明出处。