barriers / 阅读 / 详情

sftp免密用java怎么调用

2023-07-12 16:10:24
TAG: ava sf ja java tp ftp
共1条回复
cloudcone
* 回复内容中包含的链接未经审核,可能存在风险,暂不予完整展示!
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Properties;
import java.util.Vector;

import org.a****.commons.lang.ArrayUtils;

import com.huawei.b*.commons.om.log.DebugLog;
import com.huawei.b*.commons.om.log.LogFactory;
import com.huawei.i***.commons.constants.KeyConstant;
import com.huawei.i***.commons.constants.NumberConstant;
import com.huawei.i***.commons.exception.SPMException;
import com.huawei.i***.commons.log.IcityLogFactory;
import com.huawei.i***.commons.log.IcityRuntimeLog;
import com.huawei.i***.commons.sysconfig.StaticInitData;
import com.huawei.i***.commons.utils.StringTools;
import com.huawei.icity.o*.common.util.CommonTools;
import com.huawei.icity.omp.interfaces.hint.constant.TimetaskConstants;
import com.huawei.mdmc.bfm.cms.a****.common.domain.SingleTableModel;
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.ChannelSftp.LsEntry;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
import com.jcraft.jsch.SftpException;

/**
* SFTP公共处理类 〈提供SFTP文件上传,下载,获取指定目录 下文件名集合, 获取指定目录 下文件集合等方法>
*
* @author mKF75022
* @version iCity Manager V100R002 2012-7-3
* @since iCity Manager V100R002C01
*/
public class SFTPTool
{
/**
* 调测日志记录器。
*/
private static final DebugLog DEBUGGER = LogFactory.getDebugLog(SFTPTool.class);

/**
* 运行日志记录器。
*/
private static final IcityRuntimeLog RUNTIMELOGGER = IcityLogFactory
.getRuntimeLog(SFTPTool.class);

/**
* Sftp客户端对象
*/
private ChannelSftp sftp = null;

/**
* SFTP IP地址
*/
private String ip;

/**
* SFTP 端口
*/
private String port;

/**
* SFTP 用户名
*/
private String userName;

/**
* SFTP 密码
*/
private String password;

/**
* SFTP上传模式:BINARY
*/
// private static final int BINARY_FILE_TYPE = 2;

/**
*
* 获取实例
*
* @return SFTPTool newinstance实例
*
*/
public static SFTPTool getNewInstance()
{
return new SFTPTool();
}

/**
* 初始化连接参数
*
* @param sftpIP
* IP
* @param sftpPort
* 端口
* @param sftpUsername
* 用户名
* @param sftpPassword
* 密码
*/
public void init(String sftpIP, String sftpPort, String sftpUsername, String sftpPassword)
{
// 获取SFTP连接信息
this.ip = sftpIP;
this.port = sftpPort;
this.userName = sftpUsername;
this.password = sftpPassword;
}

/**
* 从SFTP将符合约定命名的文件都下载到本地 .
*
* @param sftpDir
* SFTP服务器文件存放路径
* @param locDir
* 本地文件存放路径
* @param regex
* 指定文件名的格式
* @param needBackup
* 是否需要文件备份(true:是;false:否)
* @param needFullMatch
* 是否要求全局匹配(true:是;false:否)
* @param deleteFtpFile
* the delete ftp file
* @return 下载到本地的文件列表
*/
public List<File> synSFTPFileToLocal(String sftpDir, String locDir, String regex,
boolean needBackup, boolean needFullMatch, boolean deleteFtpFile)
{
List<File> files = new ArrayList<File>(KeyConstant.INITIAL_NUMBER);
try
{
this.connect(ip, Integer.parseInt(this.port), userName, password);

// 获得FTP上文件名称列表
List<String> ftpFileNameList = this.listFiles(sftpDir, regex, needFullMatch);

File localFile = null;

int size = ftpFileNameList.size();

// 根据每个FTP文件名称创建本地文件。
for (int i = 0; i < size; i++)
{
// 下载源文件
localFile = this.download(sftpDir, locDir, ftpFileNameList.get(i), deleteFtpFile);
if (localFile.exists())
{
files.add(localFile);
}
if (needBackup)
{
// 备份源文件生成默认备份文件路径(据请求文件路径,生成同级目录的备份文件夹绝对路径)
String parentDir = sftpDir.substring(NumberConstant.INT_0,
sftpDir.lastIndexOf("/") + 1);
String backupDir = parentDir + TimetaskConstants.DEFAULT_BACKUP_DIRNAME;
boolean bakExists = openDir(backupDir);
if (bakExists)
{
this.uploadFile(backupDir, localFile);
}
else
{
boolean parentExists = openDir(parentDir);
if (parentExists)
{
sftp.mkdir(TimetaskConstants.DEFAULT_BACKUP_DIRNAME);
this.uploadFile(backupDir, localFile);
}
else
{
DEBUGGER.error("sftp parentDir no exisits ");
}
}
}
}
}
catch (Exception e)
{
DEBUGGER.error("synSFTPFileToLocal Exception", e);
}
finally
{
this.disconnect();
}
return files;
}

/**
* 连接sftp服务器
*
* @param sftpip
* ip地址
* @param sftpport
* 端口
* @param sftpusername
* 用户名
* @param sftppassword
* 密码
* @return channelSftp
* @throws SPMException
*/
public ChannelSftp connect(String sftpip, int sftpport, String sftpusername, String sftppassword)
{
sftp = new ChannelSftp();
try
{
JSch jsch = new JSch();
jsch.getSession(sftpusername, sftpip, sftpport);
Session sshSession = jsch.getSession(sftpusername, sftpip, sftpport);
RUNTIMELOGGER.info("Session created");
sshSession.setPassword(sftppassword);
Properties sshConfig = new Properties();
sshConfig.put("StrictHostKeyChecking", "no");
sshSession.setConfig(sshConfig);
// 设置超时时间为
sshSession.setTimeout(Integer.parseInt(StaticInitData.getFtpConnectTimeOut())
* NumberConstant.INT_1000);
sshSession.connect();
Channel channel = sshSession.openChannel("sftp");
channel.connect();
sftp = (ChannelSftp) channel;

// 设置文件类型
// ftpClient.setFileType(BINARY_FILE_TYPE);

// 与防火墙相关
// ftpClient.enterLocalPassiveMode();
}
catch (JSchException e)
{
DEBUGGER.error("JSchException : {}", e);
}
return sftp;
}

// /**
// * 创建指定文件夹
// *
// * @param dirName
// * dirName
// */
// public void mkDir(String dirName)
// {
// try
// {
// sftp.mkdir(dirName);
// }
// catch (SftpException e)
// {
// DEBUGGER.error("mkDir Exception : " + e);
// }
// }

/**
* 创建指定文件夹
*
* @param dirName
* dirName
*/
public void mkDir(String dirName)
{
String[] dirs = dirName.split("/");
try
{
String now = sftp.pwd();
for (int i = 0; i < dirs.length; i++)
{
boolean dirExists = openDir(dirs[i]);
if (!dirExists)
{
sftp.mkdir(dirs[i]);
sftp.cd(dirs[i]);

}

}
sftp.cd(now);
}
catch (SftpException e)
{
DEBUGGER.error("mkDir Exception : " + e);
}
}

/**
* 打开指定目录
*
* @param directory
* directory
* @return 是否打开目录
*/
public boolean openDir(String directory)
{
try
{
sftp.cd(directory);
return true;
}
catch (SftpException e)
{
DEBUGGER.error("openDir Exception : " + e);
return false;
}
}

相关推荐

常量英文

常量英文:constant,const◇常量分析 macro analysis; 常量营养素 macronutrient参考例句:Excess sugar in the urine,often associated with diabetes mellitus.糖尿尿中反常量的糖,常与糖尿病有关In music theory, macroanalysis is a method of transcribing.在乐理中,常量分析是采谱的方法。Formal expression containing variables; becomes a sentence when variables are replaced by constants.包含变量的表达式;当变量被常量代替时变成命题。But to simplify that analysis we shall regard the acceleration as constant, our estimate will not be affected但为简化分析起见,我们称这种加速为常量,这样做不会影响我们的讨论。
2023-07-12 05:58:471

android constants有什么用

constant就是常量的意思,简单的说就是比如有的时候你写一组分支,当a=0;a=1.....但是时间久了你就忘记0,和1分别代表什么,所以就定义静态常量,然后就可以便于代码的维护以及查看使用.
2023-07-12 05:59:061

ABAP 中constants 怎么用?是什么意思?

定义一个常量 在程序执行过程中 他的值不可以改变 系统说明如下:CONSTANTS const [options]. This statement declares a constant data object - that is, a constant const. The content of a constant cannot be changed at runtime of an ABAP program. You can only use it as an operands in read positions of ABAP statements. Constants that you declare in the declaration section of a class or an interface belong to static attributes of that class/interface.
2023-07-12 05:59:131

C语言里定义数组的时候constants到底是干什么用的?

按照这段代码,可以认为constant是结构体内部定义的一个int数组A.constants = (int *)malloc(dim * sizeof(int)); //分配内存if(!A.constants) exit(OVERFLOW); //内存不足,报警A.constants[dim - 1] = 1; //设置结束标记for(i = dim - 2;i>=0;--i) A.constants[i] = A.bounds[i+1] * A.constants[i+1]; //运算这个要看代码具体的用处了直接说有什么用,天才也猜不到
2023-07-12 05:59:221

C语言中什么是数组映像函数常量基址

这里引用严奶奶著的数据结构:以下讲数组映像函数的公式来源:以下讲数组中数组初始化InitArray(...)的定义里,数组映像函数常量基址是如何建立的:数组映像函数常量的基址constants作为一个指针,在InitArray函数中作为数组使用,指向每一个constants[i]。constants[dim-1]就是多维数组中最后一维的元素加一或减一的大小(可以比喻为十进制数的个位数从4,加一变成5所移动的个数是5-4==1个)。constants[dim-2]就是多维数组中倒数第二维的元素加一或减一的大小(可以比喻为十进制数的十位数从4,加一变成5所移动的个数是50-40==10个)。constants[dim-2]就是多维数组中倒数第三维的元素加一或减一的大小(可以比喻为十进制数的百位数从4,加一变成5所移动的个数是500-400==100个)。以此类推,直到最高维。这些每次移动的个数,可以理解为基个数,百位数的基个数是100,十位数的基个数是10……。这些基个数可以理解为是数组映像函数常量基址。我这么理解。
2023-07-12 05:59:311

C++中literal含义

literaladj.文字的, 照字面上的, 无夸张的
2023-07-12 06:00:103

物理常数

类别(Sort) 量的名称(Quantity) 符号(Symbol) 数值(Value)普通常数(general constants) 真空中光速(speed of light in vacuum) c 2.99792458x108 m/s真空磁导率(permeability of vacuum) μ0 4πx10-7= 1.25663706143592x10-6H/m真空介电常数(permittivity of vacuum) ?ε0 1/(μ0c2)普朗克常数(planck constant) h 6.626176x10-34 J·s9 = h/2? 1.054589x10-34 J·s万有引力常数(gravitational constant) G 6.672x10-11 N·m2/kg2重力加速度(standard acceleration of gravity) g 9.80665 m/s2电磁常数(electromagnetic constants) 基本电荷(elementary charge) e 1.602189x10-19 C磁通量子(magnetic flux quantum) ?0 2.067851x10-15 Wb玻尔磁子(bohr magneton) μB = eh/2mec 9.274078x10-24 J/T核磁子(nuclear magneton) μN = e9 /2mpc 5.050824x10-27 J/T原子常数(atomic constants) 精细结构常数(fine-structure constant) ? 7.297351x10-3里德伯常数(rydberg constant) R∞=mec2/2h 1.09737318x107 /m玻尔半径(bohr radius) a0 0.52917706x10-10 m哈特利能量(hartree energy) Eh 27.2116 eV环流量子(quantum of circulation) h/me 7.27389x10-4 J·s/kg电子质量(electron mass) me 9.10953x10-31 kg质子质量(proton mass) mp 1.672649x10-27 kg中子质量(neutron mass) mn 1.674954x10-27 kg物理化学常数(physicochemical constants) 阿伏加德罗常数(avogadro constant) NA 或 L 6.022045x1023 /mol原子质量单位(atomic mass unit) amu 1.660566x10-27 kg法拉第常数(faraday constant) F = NAe 9.648456x104 C/mol摩尔气体常数(molar gas constant) R 8.31441 J/(K·mol)玻尔兹曼常数(boltzmann constant) k 1.380662x 10-23 J/K理想气体在标准状态下的摩尔体积[molar volume, ideal gas(at 273.15K,101.325kPa)] Vm 22.4138 L标准大气压(standard atmosphere) - 101325 Pa
2023-07-12 06:00:201

文件导入时需要哪个constants

import 就是导入的意思, java语言是面向对象的编程语言, 不像C c也需要导入头文件的, 因为不同的包下面可能有相同的类名, 所以需要区分是哪个包下来的类, 所以就用 import导入.
2023-07-12 06:00:391

详解C语言算法

今天太晚了,如果明天中午之前还没解决我就仔细看看。。。=================================================
2023-07-12 06:00:472

如何修改CS商店价格和怎么关闭CS商店

AMXX类的新版魔兽插件,商店的物品价格可以在constants.inl这个文件里修改,具体位置是:addonsamxmodxscriptingwar3ftconstants.inl然后用记事本打开constants.inl文件,找到下面的代码后就可以修改了:new const itemcost[9] = {1500,2500,1000,800,2000,800,2000,1000,4000}#if MOD == 0new const itemcost2[9] = {7500,1500,1500,1500,1500,1750,1000,9000,16000}#endif#if MOD == 1new const itemcost2[9] = {800,1500,550,1500,1500,1750,1000,9000,16000}#endif呵呵,是不是对这些数字很熟悉呢?接下来该怎么改就不用我教了吧?注意,把代码修改完后记得要用compile.exe重新编译warcraft3FT.sma,然后再把生成的warcraft3FT.amxx放到plugins文件夹里才能生效!
2023-07-12 06:00:541

使用modeldatajsonconstants,需要引用哪个jar

commons-lang-2.4.jar;json-lib-2.3-jdk13.jar;jsonplugin-0[1].32.jar;ezmorph-1.0.2.jar;commons-beanutils-1.7.0.jar;commons-collections-3.2.1.jar(这个包要注意版本,我用2.1不行)还需要把jQuery-1[1].2.6.pack.js;struts.xml配置:<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd"><struts><package name="ajax" extends="json-default"> <action name="testAction" class="model.testAction"> <result type="json">/index.jsp</result> </action></package></struts>testAction.Javapackage model;import net.sf.json.JSONObject;import com.opensymphony.xwork2.ActionSupport;public class testAction extends ActionSupport {User user;String result;@Overridepublic String execute() throws Exception {JSONObject js=JSONObject.fromObject(user) ;System.out.println(js);result=js.toString();return SUCCESS;}public User getUser() {return user;}public void setUser(User user) {this.user = user;}public String getResult() {return result;}public void setResult(String result) {this.result = result;}}package model;public class User {String username;String password;public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}}index.jsp<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%><%@ taglib prefix="s" uri="/struts-tags"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head> <base href="<%=basePath%>"> <title>My JSP "index.jsp" starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--><script type="text/JavaScript" src="<%=path %>/js/jquery-1[1].2.6.pack.js"></script><script type="text/javascript">$(document).ready(function(){$("button").click(function(){ var params=$("input").serialize();$.ajax({url:"testAction.action",type:"post",dataType:"json",data:params,success:update_page});}); }); function update_page(result){ var json=eval(result); alert(json); var str="姓名:"+json.user.username+"<br>"; str+="密码:"+json.user.password+"<br>"; $("#result").html(str); }</script></head><body> <div id="result"></div><s:form action="testAction" method="post"><s:textfield label="用户名" name="user.username" /><s:textfield label="密码" name="user.password" /><button>提交</button></s:form></body></html>
2023-07-12 06:01:011

Constants and expressions are invalid in read-only I/O lists. [F]

输入输出红表单中的常数和表达式无效
2023-07-12 06:01:092

如何在jsp页面直接获取常量类中的常量

  “${Constants.PRODUCTCODE_PACKAGE}”这种格式称为EL表达式,它和JSP都是JVAA WEB应用中的工具,既然说到WEB应用,就要讲究作用域。  JSP和EL表达式均只能在此四种范围内使用:page、request、session 和 application。 page 指单一页jsp page的范围; request的范围只在jsp页发出请求到另一页之间,随后这个属性失效; session范围是用户和服务器连接的那段时间,用户与服务器断开属性就失效; application作用范围最大,在服务器一开始执行服务到服务器关闭为止。慎用,可能造成服务器负载过重。  说到这里,看你这个常量类里的这个常量,显然不在这4个作用域内,所以你要想用EL表达式获取,就必须先放把这个常量放到这4个作用域内。  通常的做法:既然是常量,就在页面直接import此类,然后直接引用即可;  笨一点的办法:就是放到request里,如楼上所说;  再就是如果多处多次引用,也可以放到session里,相关做法和request类似;  希望你能理解
2023-07-12 06:01:253

如何更改SOAP消息的编码

OAP消息的编码一般默认为UTF-8,一般情况下是能满足我们的开发的,但是在具体的的项目开发里,可能需要调整为特殊的编码,如Shift_JIS、 GB2312、UTF-16等。鉴于网上关于这方面的资料很少,通过几个小时的搜索和测试,终于找到了更改编码的方式。本文主要以Axis和Axis2做 为SOAP引擎为例,总结其更改方法。1. Axis *Stub.java文件的调用方法里增加蓝色语句(_call.setProperty(org.apache.axis.client.Call.CHARACTER_SET_ENCODING, "Shift_JIS"); ) org.apache.axis.client.Call _call = createCall(); _call.setOperation(_operations[0]); _call.setUseSOAPAction(true); _call.setEncodingStyle(null); _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE); _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE); _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); _call.setOperationName(new javax.xml.namespace.QName("http://tempuri.org/wkn15h0", "KN15H0")); _call.setProperty(org.apache.axis.client.Call.CHARACTER_SET_ENCODING, "Shift_JIS"); 其中 org.apache.axis.client.Call.CHARACTER_SET_ENCODING = javax.xml.soap.character-set-encoding其他SOAP引擎也是通过类似setProperty( "javax.xml.soap.character-set-encoding", "Shift_JIS" )的方式进行更改编码的。2. Aixs2 在 *Stub.java文件的调用方法里,应该有两种方法修改。 方法一:通过MessageContext.setProperty(org.apache.axis2.Constants.Configuration.CHARACTER_SET_ENCODING,"UTF-16"); 方法二:_operationClient.getOptions().setProperty(org.apache.axis2.Constants.Configuration.CHARACTER_SET_ENCODING,"Shift_JIS"); (注意: 通过以上两种方式,测试发现都不能成功,似乎始终是按照UTF-8编码处理,参照:http://www.nabble.com/-Axis2--Character-Set-Encoding-problem-td18645088.html)
2023-07-12 06:01:331

怎么解决ie下不支持dom对象继承object的prototype自定义方法

Javascript作为一种语言,有个美誉,开发者可以重新定义任何事情。虽然这在过去的一些javascript可以,但是ECMAScript5中已经开始得到改变,例如,我们可以使用Object.defineProperty创建一个不能被修改的对象的属性。一、基本用法假如我想构建一个math.js库,看下面的实例:var mathObj = { constants: { "pi": 3.14 }, areaOfCircle: function(radius) { return this.constants.pi*radius*radius; }} 在上例中,如果有人改变pi的值,那么我们将不会得到正确的计算结果,虽然有很多方法可以解决此问题,但是最简单的方法是使用pi属性不可写。看下面实例:var mathObj = { constants: {}, areaOfCircle: function(radius) { return this.constants.pi*radius*radius; }} Object.defineProperty(mathObj.constants, "pi", { value: 3.14, writable: false});mathObj.constants.pi = "Benjamin";//Outputs: 3.14console.log(mathObj.constants.pi);Object.defineProperty(obj, prop, descriptor)方法接收三个参数:需要添加或修改属性的对象,属性名称,属性描述options。从上例可以看出,当给pi赋值为逗Benjamin地时,最后输出的值还是3.14。 但是如果给math.js使用逗use strict",将会报错,和给undefined赋值一样:"use strict";var mathObj = { constants: {}, areaOfCircle: function(radius) { return this.constants.pi*radius*radius; }} Object.defineProperty(mathObj.constants, "pi", { value: 3.14, writable: false});mathObj.constants.pi = "Benjamin";//<span style="color: #ff0000;">Outputs: Uncaught TypeError: Cannot assign to read only property "pi" of #<Object></span> console.log(mathObj.constants.pi);第三个参数的options中,writable默认值为false,所以在上例中可以省略,configurable默认值为false,如果你想使用你的库的用户故意重写pi的值,你可以设置configurable值为true。
2023-07-12 06:01:401

几何是什么?

几何是什么 几何,就是研究空间结构及性质的一门学科。它是数学中最基本的研究内容之一,与分析、代数等等具有同样重要的地位,并且关系极为密切。 有几何是什么意思 在你的系统盘下.windows目录里的regedit.exe文件.像个蓝色小魔方似的东西.就是了. 数学中的几何是什么意思 几何,就是研究空间结构及性质的一门学科.它是数学中最基本的研究内容之一,与分析、代数等等具有同样重要的地位,并且关系极为密切. 最早的几何学当属 平面几何.平面几何就是研究平面上的直线和二次曲线(即圆锥曲线,就是椭圆、双曲线和抛物线)的几何结构和度量性质(面积、长度、角度).平面几何采用了公理化方法,在数学思想史上具有重要的意义.为几何是什么意思 为几何 为是“是”的意思。 “几何”的含义:①多少的意思,如价值几何?ㄧ曾几何时。②几何学的简称。 “为几何”应是“是多少”之意。也可能是“是几何学”的意思。 没有上下文,不好判断。 什么是几何参数? 元素几何参数(Real Constants)主要于有限元素法中用 于计算元素(劲度)矩阵(element matrix),其意义与设定种类 随元素型态而定,例如LINK元素的截面积就是经由几何 参数设定,而BEAM元素属性设定包括有面积、惯性矩 (Moment of inertia, Izz)、高度,其他尚有厚度、内直径、 外直径等,且并非每个元素都需设定几何参数。 以PLANE82元素为例,当指定用Plane strs w/thk类型 来分析时,此时元素厚度就是所需设定的几何参数,但当 选择Plane stress类型进行分析时,则将无任何几何参数可 供设定。
2023-07-12 06:02:001

Constants.USERNAME_KEY

你看看你的Constants class里有没有USERNAME_KEY这个参数,如果没有当然不能用了。。
2023-07-12 06:02:081

session.setAttribute(Constants.LOGIN_USER_KEY, user)

可能的原因是你只重新刷新了一下此页面,里面当然没有session的值。只有你进入前一个页面,然后现进入下一个页面,才会保存session。
2023-07-12 06:02:151

session.setAttribute(Constants.USERNAME_KEY,account)的问题

这个方法要求两个参数都是 Object
2023-07-12 06:02:232

pascal中 warning:range check error while evaluating constants这条警告是什么意思,速度回答呀!

数组赋值越界
2023-07-12 06:02:302

PDF文件如何集体转曲

pdf转曲方法1.插件IntelliPDF Curves2.透明法以下是最快捷的方法:这是可以在批处理里面做的脚本:/* Put script title here */this.addWatermarkFromText({ cText: " ", nOpacity: 0,nTextAlign: app.constants.align.right,nHorizAlign: app.constants.align.right, nVertAlign: app.constants.align.top, nHorizValue: -10, nVertValue: -10});把上面这些内容放到脚本里面,就可以生成一个批处理了.然后在AB7-8里面把文件透明压平.3,使用PITSTOP7.0以上的版本用选择工具选定之后,就可以利用面板的文字编辑选项里的转曲功能.PDF无需插件转曲线先用“文档”菜单下的“添加背景和水印”(参照图片1)再用“工具”菜单下的“印刷制作”下的“透明度拼合”(参照图片2) http://www.hnyinshua.cn/news/20075227441.htm
2023-07-12 06:02:401

JScrollPane的滚动条如何设置?

选项有:ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED :需要时出现ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER :从不出现ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS :总是出现垂直滚动条的设置:public void setVerticalScrollBarPolicy(int policy)确定垂直滚动条何时显示在滚动窗格上。合法值是: ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED 需要时出现ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER 从不出现ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS 总是出现 补充: 比如JScrollPane对象叫scrollPane,加上这两句话就可以使它需要时才显示垂直滚动条,隐藏水平滚动条。scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); 追问: 嗯,可以了,谢了哈,能再问你一下吗?JScrollPane能添加到JTextArea里吗?因为我想用JScrollPane让JTextArea多行显示 回答: 可以阿,不过是把TextArea放到JScrollPane里。比如有JTextArea对象叫做textArea,你可以创建JScrollPane scrollPane = new JScrollPane(textArea); 追问: 哦,如果把TextArea放到JScrollPane里,JScrollPane应该放在哪里的呀?放JPanel里的话,会填充整个JPanel,其他控件就不能放了 回答: = = 阿?JScrollPane替换原来TextArea的位置阿。。 追问: 嗯,解决了,谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~谢谢~~~·~·~哈哈,真的很谢谢你
2023-07-12 06:02:471

java程序编译出错提示Array constants can only be used in initializers 但是想不懂问题出在哪

this.object[i] = { Integer.valueOf(pcb.name), "READY", Integer.valueOf(pcb.pri), Integer.valueOf(pcb.total), Integer.valueOf(pcb.time), Integer.valueOf(0) }问题出在这一行。应该是:this.object[i] = new Object[]{ xxx, yyy, ... };原因是:int[] a = {1, 2, 3};这种语法只能用在定义数组变量的时候,即“初始化”数组变量的时候。如果是在数组变量已经创建之后去修改它,就不能直接等于大括号了;必须重新初始化一个数组对象然后赋值。
2023-07-12 06:02:571

normalexcelconstants导出怎么过滤掉头部

之前使用poi导出Excel表格,需要配置很多东西,也比较麻烦,这里使用poi的封装easypoi,可以快速配置,实现Excel或者word文件的导出。这里我们结合SpringMVC开发easypoi。导入jar包这里是springMVC和easypoi所需的jar包主要是easypoi-base和easypoi-web,其它都是关联所需的jar包,我们需要commons-lang3.jar包,开始使用commons-lang2.6版本会出现错误。spring-servlet.xml配置[html]viewplaincopy[html]viewplaincopycontroller[java]viewplaincopypackagecom.mvc.controller;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importorg.jeecgframework.poi.excel.entity.ExportParams;importorg.jeecgframework.poi.excel.entity.params.ExcelExportEntity;importorg.jeecgframework.poi.excel.entity.vo.MapExcelConstants;importorg.jeecgframework.poi.excel.entity.vo.NormalExcelConstants;importorg.springframework.stereotype.Controller;importorg.springframework.ui.ModelMap;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestMethod;@Controller@RequestMapping(value="/excel")publicclassExcelController{/****方法名:*开发者:*开发时间:2016-12-29*/@RequestMapping(value="/export",method={RequestMethod.POST,RequestMethod.GET})publicStringexport(HttpServletRequestrequest,HttpServletResponseresponse,ModelMapmodelMap){//标题ListentityList=newArrayList();//内容List>dataResult=newArrayList>();entityList.add(newExcelExportEntity("表头1","table1",15));entityList.add(newExcelExportEntity("表头2","table2",25));entityList.add(newExcelExportEntity("表头3","table3",35));for(inti=0;imap=newHashMap();map.put("table1","苹果"+i);map.put("table2","香蕉"+i);map.put("table3","鸭梨"+i);dataResult.add(map);}modelMap.put(MapExcelConstants.ENTITY_LIST,entityList);modelMap.put(MapExcelConstants.MAP_LIST,dataResult);StringfileName="easypoi测试列表";modelMap.put(MapExcelConstants.FILE_NAME,fileName);modelMap.put(NormalExcelConstants.PARAMS,newExportParams("easypoi列表","测试列表"));returnMapExcelConstants.JEECG_MAP_EXCEL_VIEW;}}配置好表头,内容体,文件名就可以使用了
2023-07-12 06:03:231

C语言销毁结构体的一个对象为什 么不能直接用free函数?而是需要清空每一个字段?

系统调用free释放内存时,是无法判断被释放的内存是否是个结构体,更无法知道结构体内有没有指针、这些指针有没有指向动态申请的内存。如果直接free(A),那么A.base等结构体内指针指向的内存就没有机会被释放,会导致内存泄漏。
2023-07-12 06:03:301

我想用Python操作word,网上看了些代码,但自己的老是报错,求高手看看!!!

看了一下应该是没有自动创建constants变量,constants是空的先运行语句:win32com.client.gencache.EnsureDispatch("Word.Application")应该就可以了或者运行pythonwin菜单栏选择Tools——>Com MakePy Utility然后在弹出的窗口中选择Microsoft Word x.y Object Library 点击OK就可以了或者直接运行client文件夹下的makepy.py文件同样选择Microsoft Word 也可以
2023-07-12 06:03:491

java生成Excel时的错误

outputFile你的文件路径上你没建这个文件夹
2023-07-12 06:05:273

constant什么意思 constant的意思

1、constant,英[?k?nst?nt],美[?kɑ?nst?nt]。2、adj.连续发生的; 不断的; 重复的; 不变的; 固定的; 恒定的;n.常数; 常量。3、[例句]The speed of light is an invariant constant.光速是一个不变常数。4、[其他]复数:constants。
2023-07-12 06:05:461

C语言中什么是数组映像函数常量基址

定义数组是用 code 关键字定义的这句话是什么意思呢?sizeof 返回数组的大小是没有问题的啊,记住是大小不是长度。
2023-07-12 06:05:552

物理公式上常用的一些物理常数的数值

1.6*负19 元电荷
2023-07-12 06:06:342

PHP问题Warning: Constants may only evaluate to scalar values in D: estincludecommon.php on line

你在simplexml_load_file句之后增加下面的语句,看看输出结果是什么:print_r($dom);
2023-07-12 06:06:411

A.bounds[i]=va_arg(ap,int);啥意思

这里的va_arg(ap,int);是调用函数
2023-07-12 06:06:491

IE8 javascript 对象 Object.defineProperty相关问题

Javascript作为一种语言,有个美誉,开发者可以重新定义任何事情。虽然这在过去的一些javascript可以,但是ECMAScript5中已经开始得到改变,例如,我们可以使用Object.defineProperty创建一个不能被修改的对象的属性。一、基本用法假如我想构建一个math.js库,看下面的实例:var mathObj = { constants: { "pi": 3.14 }, areaOfCircle: function(radius) { return this.constants.pi*radius*radius; }} 在上例中,如果有人改变pi的值,那么我们将不会得到正确的计算结果,虽然有很多方法可以解决此问题,但是最简单的方法是使用pi属性不可写。看下面实例:var mathObj = { constants: {}, areaOfCircle: function(radius) { return this.constants.pi*radius*radius; }} Object.defineProperty(mathObj.constants, "pi", { value: 3.14, writable: false});mathObj.constants.pi = "Benjamin";//Outputs: 3.14console.log(mathObj.constants.pi);Object.defineProperty(obj, prop, descriptor)方法接收三个参数:需要添加或修改属性的对象,属性名称,属性描述options。从上例可以看出,当给pi赋值为“Benjamin”时,最后输出的值还是3.14。 但是如果给math.js使用“use strict",将会报错,和给undefined赋值一样:"use strict";var mathObj = { constants: {}, areaOfCircle: function(radius) { return this.constants.pi*radius*radius; }} Object.defineProperty(mathObj.constants, "pi", { value: 3.14, writable: false});mathObj.constants.pi = "Benjamin";//<span style="color: #ff0000;">Outputs: Uncaught TypeError: Cannot assign to read only property "pi" of #<Object></span> console.log(mathObj.constants.pi);第三个参数的options中,writable默认值为false,所以在上例中可以省略,configurable默认值为false,如果你想使用你的库的用户故意重写pi的值,你可以设置configurable值为true。
2023-07-12 06:06:581

类型 Graphics 中的方法 setColor(java.awt.Color)对于参数不适用

你的g是java.awt.Graphics吗,如果是的话,它确实没有setColor(int)方法,它只有setColor(java.awt.Color)方法
2023-07-12 06:07:051

comsol如何设置常数?

options——>constants——>对话框里可以设置常数
2023-07-12 06:07:231

如何在jsp页面直接获取常量类中的常量

  “${Constants.PRODUCTCODE_PACKAGE}”这种格式称为EL表达式,它和JSP都是JVAA WEB应用中的工具,既然说到WEB应用,就要讲究作用域。  JSP和EL表达式均只能在此四种范围内使用:page、request、session 和 application。 page 指单一页jsp page的范围; request的范围只在jsp页发出请求到另一页之间,随后这个属性失效; session范围是用户和服务器连接的那段时间,用户与服务器断开属性就失效; application作用范围最大,在服务器一开始执行服务到服务器关闭为止。慎用,可能造成服务器负载过重。  说到这里,看你这个常量类里的这个常量,显然不在这4个作用域内,所以你要想用EL表达式获取,就必须先放把这个常量放到这4个作用域内。  通常的做法:既然是常量,就在页面直接import此类,然后直接引用即可;  笨一点的办法:就是放到request里,如楼上所说;  再就是如果多处多次引用,也可以放到session里,相关做法和request类似;  希望你能理解
2023-07-12 06:07:323

C#中创建excel类颜色控制问题

ExcelEditor提供以下方法: "创建一个Excel对象 Public Sub Creat() "打开一个Excel对象 Public Sub Open(ByVal FileName As String) 参数描述:FileName :excel文件路径 "获取一个工作表 Public Function GetSheet(ByVal SheetName As String) As Excel.Worksheet 参数描述:SheetName :工作表名称 "添加一个工作表 Public Function AddSheet(ByVal SheetName As String) As Excel.Worksheet "删除一个工作表 Public Function DelSheet(ByVal SheetName As String) "重命名一个工作表 Public Function ReNameSheet(ByVal OldSheetName As String, ByVal NewSheetName As String) As Excel.Worksheet Public Function ReNameSheet(ByVal Sheet As Excel.Worksheet, ByVal NewSheetName As String) As Excel.Worksheet "设置一个单元格的值 Public Sub SetCellValue(ByVal ws As Excel.Worksheet, ByVal x As Integer, ByVal y As Integer, ByVal value As Object) 参数说明 ws:要设值的工作表 X行Y列 value 值 Public Sub SetCellValue(ByVal ws As String, ByVal x As Integer, ByVal y As Integer, ByVal value As Object) " 设置一个单元格的属性 字体, 大小,颜色 ,对齐方式 Public Sub SetCellProperty(ByVal ws As Excel.Worksheet, ByVal Startx As Integer, ByVal Starty As Integer, ByVal Endx As Integer, ByVal Endy As Integer, ByVal size As Integer, Optional ByVal name As String = "宋体", Optional ByVal color As Excel.Constants = Excel.Constants.xlAutomatic, Optional ByVal HorizontalAlignment As Excel.Constants = Excel.Constants.xlLeft) 参数说明 :ws:要设值的工作表 Startx 起始单元格的行 Starty 起始单元格的列 Endx 结束单元格的行 Endy 结束 单元格的列 size 字体大小 name 字体 color 颜色 HorizontalAlignment 对齐方式 Public Sub SetCellProperty(ByVal wsn As String, ByVal Startx As Integer, ByVal Starty As Integer, ByVal Endx As Integer, ByVal Endy As Integer, Optional ByVal size As Integer = 12, Optional ByVal name As String = "宋体", Optional ByVal color As Excel.Constants = Excel.Constants.xlAutomatic, Optional ByVal HorizontalAlignment As Excel.Constants = Excel.Constants.xlAutomatic.xlRight) "合并单元格 Public Sub UniteCells(ByVal ws As Excel.Worksheet, ByVal Startx As Integer, ByVal Starty As Integer, ByVal Endx As Integer, ByVal Endy As Integer) 参数说明 :ws:要设值的工作表 Startx 起始单元格的行 Starty 起始单元格的列 Endx 结束单元格的行 Endy 结束 单元格的列 "将内存中数据表格插入到Excel指定工作表的指定位置 为在使用摩板时控制格式时使用 Public Sub InsertTable(ByVal dt As Data.DataTable, ByVal ws As String, ByVal startX As Integer, ByVal startY As Integer) Public Sub InsertTable(ByVal dt As Data.DataTable, ByVal ws As Excel.Worksheet, ByVal startX As Integer, ByVal startY As Integer) "将内存中数据表格添加到Excel指定工作表的指定位置 Public Sub AddTable(ByVal dt As Data.DataTable, ByVal ws As String, ByVal startX As Integer, ByVal startY As Integer) Public Sub AddTable(ByVal dt As Data.DataTable, ByVal ws As Excel.Worksheet, ByVal startX As Integer, ByVal startY As Integer) "插入图片操作" Sub InsertPictures(ByVal Filename As String, ByVal ws As String) Sub InsertPictures(ByVal Filename As String, ByVal ws As String, ByVal Height As Integer, ByVal Width As Integer) Sub InsertPictures(ByVal Filename As String, ByVal ws As String, ByVal left As Integer, ByVal top As Integer, ByVal Height As Integer, ByVal Width As Integer) 插入图表操作" Public Sub InsertActiveChart(ByVal ChartType As Excel.XlChartType, ByVal ws As String, ByVal DataSourcesX1 As Integer, ByVal DataSourcesY1 As Integer, ByVal DataSourcesX2 As Integer, ByVal DataSourcesY2 As Integer, Optional ByVal ChartDataType As Excel.XlRowCol = Excel.XlRowCol.xlColumns) 参数说明 :ChartType 为图表类型 ws:要设值的工作表名 DataSourcesX1 图表数据源起始单元格的行 DataSourcesY1 图表数据源起始单元格的列 DataSourcesX2 图表数据源结束单元格的行 DataSourcesY2 图表数据源结 束单元格的列 ChartDataType 图表数据数据方式 " 保存文档 Public Function Save() As Boolean " 文档另存为 Public Function SaveAs(ByVal FileName) As Boolean " 关闭一个Excel对象,销毁对象 Public Sub Close() 这个一定要有!要不然 在系统进程中回有很EXCEL进程没有销毁! 使用方法:引用:VBExcelWordEditor.dll com引用: Microsoft Excel 10.0 Object Library 暂时只做了这些功能,慢慢扩展
2023-07-12 06:07:491

python 有宏定义,或者枚举么

如果那样就如你所说搞一个"头文件",不过在python中可是一个模块文件,里面定义了常量(其实还是变量):如叫constants.pycomplete=12fail=13使用时importconstants或fromconstantsimport*这样就行了。
2023-07-12 06:07:561

数学期望的英文文献

http://www.york.ac.uk/depts/maths/histstat/student.pdf呵呵~这是我们前两天才要看的一篇文章呢~你要能看得懂就看看吧其实去网上搜一下有很多的……
2023-07-12 06:08:042

C语言求向量夹角的程序部分看不懂 高手帮看看分析 红字部分不懂

vectorProduct 这个函数写的有问题, 看函数的实现, length应该是指数组vecB和vecB中的数据个数, 但是在函数里明明已经写了是3, 这个参数就是多余的, 它只能等于3.另外, 这个程序为了表示是3维向量, 定义了一个常数#define VECSIZE 3但是在这里又直接写3, 不一致. 这样虽然不会出错, 但是给理解造成困惑.vectorNorm 也一样.double x[VECSIZE] = {0.0,1.0,0.0}; 这个是这里作为示例, 求两个向量的夹角的第一个向量的变量,变量名是x, 而不是X轴, 而这个向量是y轴的,这样同样是容易让人困惑, 下面的y同理.这样, 整个程序的含义是:函数 vectorProduct求两个向量的点积函数 vectorNorm 求向量的模(长度)main函数是示例:定义了x和y两个向量, 用vectorNorm分别求出两个向量的模, xNorm, yNorm用vectorProduct求出两个向量的叉积, 然后除以两个向量的模, 得到夹角的余弦值, cos_phi用acos反余弦求出两个向量的夹角(单位弧度), 然后换算成角度为单位, cos_phi
2023-07-12 06:08:111

ansys中的real constants set NO什么意思

同问
2023-07-12 06:08:204

lame constants中文是什么意思

Lame constants_有道词典Lame constants拉梅常量更多释义>>[网络短语]Lame constants 拉梅常量,拉梅参数,拉梅常数Lame elastic constants 拉梅参数third-order lame constants 三阶lame常数
2023-07-12 06:08:401

normalexcelconstants导出怎么设置底部

之前使用poi导出Excel表格,需要配置很多东西,也比较麻烦,这里使用poi的封装easypoi,可以快速配置,实现Excel或者word文件的导出。这里我们结合SpringMVC开发easypoi。导入jar包这里是springMVC和easypoi所需的jar包主要是easypoi-base和easypoi-web,其它都是关联所需的jar包,我们需要commons-lang3.jar包,开始使用commons-lang2.6版本会出现错误。spring-servlet.xml配置[html] view plain copy<!-- Bean解析器,级别高于默认解析器,寻找bean对象进行二次处理 --> <bean id="beanNameViewResolver" class="org.springframework.web.servlet.view.BeanNameViewResolver" p:order="0"> </bean> [html] view plain copy<!-- Excel 处理 根据用户输入进行对象处理 --> <bean id="jeecgExcelView" class="org.jeecgframework.poi.excel.view.JeecgSingleExcelView" /> <bean id="jeecgTemplateExcelView" class="org.jeecgframework.poi.excel.view.JeecgTemplateExcelView" /> <bean id="jeecgTemplateWordView" class="org.jeecgframework.poi.excel.view.JeecgTemplateWordView" /> <bean id="jeecgMapExcelView" class="org.jeecgframework.poi.excel.view.JeecgMapExcelView" /> controller[java] view plain copypackage com.mvc.controller; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.entity.params.ExcelExportEntity; import org.jeecgframework.poi.excel.entity.vo.MapExcelConstants; import org.jeecgframework.poi.excel.entity.vo.NormalExcelConstants; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @Controller @RequestMapping(value="/excel") public class ExcelController { /** * * 方法名: * 开发者: * 开发时间:2016-12-29 */ @RequestMapping(value = "/export",method = {RequestMethod.POST,RequestMethod.GET}) public String export(HttpServletRequest request,HttpServletResponse response,ModelMap modelMap){ //标题 List<ExcelExportEntity> entityList = new ArrayList<ExcelExportEntity>(); //内容 List<Map<String,Object>> dataResult = new ArrayList<Map<String,Object>>(); entityList.add(new ExcelExportEntity("表头1", "table1", 15)); entityList.add(new ExcelExportEntity("表头2", "table2", 25)); entityList.add(new ExcelExportEntity("表头3", "table3", 35)); for (int i = 0; i < 10; i++) { Map<String, Object> map = new HashMap<String, Object>(); map.put("table1", "苹果"+i); map.put("table2", "香蕉"+i); map.put("table3", "鸭梨"+i); dataResult.add(map); } modelMap.put(MapExcelConstants.ENTITY_LIST, entityList); modelMap.put(MapExcelConstants.MAP_LIST, dataResult); String fileName = "easypoi测试列表"; modelMap.put(MapExcelConstants.FILE_NAME, fileName); modelMap.put(NormalExcelConstants.PARAMS, new ExportParams("easypoi列表", "测试列表")); return MapExcelConstants.JEECG_MAP_EXCEL_VIEW; } } 配置好表头,内容体,文件名就可以使用了
2023-07-12 06:08:591

ssh架构系统查询当前用户信息的问题

登陆方法 public String login(){ this.userList=this.userDao.getUserByName(this.userData.getUsername().trim()); if(userList.size()>0){ UserData user=userList.get(0); Map session=ActionContext.getContext().getSession(); session.put(Base.SESSION_USER,user);//Base.SESSION_USER是我定义的一个全局变量 if(user.getPassword().equals(this.userData.getPassword().trim())||user.getPassword()==this.userData.getPassword().trim()){ return "loginOK"; }else{ System.out.println("密码不正确"); this.addFieldError("password","密码错误,请重新输入"); return INPUT; } }else{ this.addFieldError("username","用户名错误,请重新输入"); return INPUT; } }jsp页面取值:<%String userName = session.getAttribute(Base.SESSION_USER);%>//Base.SESSION_USER是我定义的一个全局变量public static final Base.SESSION_USER="user ";
2023-07-12 06:09:213

java方法重复调用

。。。建议是get方法只是获取值用的。比如private int a。public int getA(){return a;)这是一种习惯。如果你想写其他逻辑就写在别的方法里
2023-07-12 06:09:302

java ee 项目中的自定配置文件到底放在哪里才能找到??

你的inputFile加上路径 FileInputStream inputFile = new FileInputStream("main/resources/constants.properties");
2023-07-12 06:09:371

machine.h头文件是什么文件 它的作用是什么

自定义的头文件。
2023-07-12 06:09:452

如何更改SOAP消息的编码

OAP消息的编码一般默认为UTF-8,一般情况下是能满足我们的开发的,但是在具体的的项目开发里,可能需要调整为特殊的编码,如Shift_JIS、 GB2312、UTF-16等。鉴于网上关于这方面的资料很少,通过几个小时的搜索和测试,终于找到了更改编码的方式。本文主要以Axis和Axis2做 为SOAP引擎为例,总结其更改方法。1. Axis *Stub.java文件的调用方法里增加蓝色语句(_call.setProperty(org.apache.axis.client.Call.CHARACTER_SET_ENCODING, "Shift_JIS"); ) org.apache.axis.client.Call _call = createCall(); _call.setOperation(_operations[0]); _call.setUseSOAPAction(true); _call.setEncodingStyle(null); _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE); _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE); _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); _call.setOperationName(new javax.xml.namespace.QName("http://tempuri.org/wkn15h0", "KN15H0")); _call.setProperty(org.apache.axis.client.Call.CHARACTER_SET_ENCODING, "Shift_JIS"); 其中 org.apache.axis.client.Call.CHARACTER_SET_ENCODING = javax.xml.soap.character-set-encoding其他SOAP引擎也是通过类似setProperty( "javax.xml.soap.character-set-encoding", "Shift_JIS" )的方式进行更改编码的。2. Aixs2 在 *Stub.java文件的调用方法里,应该有两种方法修改。 方法一:通过MessageContext.setProperty(org.apache.axis2.Constants.Configuration.CHARACTER_SET_ENCODING,"UTF-16"); 方法二:_operationClient.getOptions().setProperty(org.apache.axis2.Constants.Configuration.CHARACTER_SET_ENCODING,"Shift_JIS"); (注意: 通过以上两种方式,测试发现都不能成功,似乎始终是按照UTF-8编码处理,参照:http://www.nabble.com/-Axis2--Character-Set-Encoding-problem-td18645088.html)
2023-07-12 06:09:521

交叉编译环境出错

Makefile 文件配置错了吧
2023-07-12 06:10:013

如何更快的将数据导入Excel

这篇文章将介绍3种方式将数据导入Excel:1、基本方法:一格一格地拷贝2、使用文件流StreamWriter对象:将流写入文件3、拷贝对象的方法:将数据复制到数组,然后直接粘贴到Excel的workbook。基本方法 使用基本的拷贝方法将会花费大量的时间。使用文件文件流或者拷贝对象的方法将比基本方法快很多。 你必须添加一个Excel COM Object 的引用到你的应用程序之中。我将要声明两个对象,Ex为Excel.Application类型。Ws为Excel.Worksheet类型 ,然后设置Ws为workbook的第一个worksheet。 我们将写代码去循环Table每一列的标题来显示标题。 我们使用列(索引),去要检索列的标题,Caption或者ColumnName属性。 对于全部的数据,我们将要使用两个循环,一个循环row,另外一个循环column代码 Microsoft.Office.Interop.Excel.Application Ex = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Worksheet Ws ; Ex.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet); Ws= (Microsoft.Office.Interop.Excel.Worksheet)Ex.Worksheets[1]; int Row = 0; int Col = 0; int i = 0; int j = 0; pb.Maximum = Ds.Tables[0].Rows.Count; Row = 1; Col = 1; //"For Heading lblCount.Text = "Generating Heading."; this.Refresh(); for (i = 0; i <= Ds.Tables[0].Columns.Count - 1; i++) { Ws.Cells[Row, Col] = Ds.Tables[0].Columns[i].Caption; Col += 1; } Row = 2; Col = 1; pb1.Maximum = Ds.Tables[0].Columns.Count; lblCount.Text = "Preparing for Export Data."; for (i = 0; i <= Ds.Tables[0].Rows.Count - 1; i++) { // //FOR ALL DATA // pb1.Value = 0; for (j = 0; j <= Ds.Tables[0].Columns.Count - 1; j++) { Ws.Cells[Row, Col] = Ds.Tables[0].Rows[i][j].ToString(); Col += 1; pb1.Value += 1; } //"If data is more than 65500 then set ws to next sheet if (Row == 65500) { Row = 1; Ws = (Microsoft.Office.Interop.Excel.Worksheet)Ex.Worksheets[2]; } Col = 1; Row += 1; lblCount.Text = i + 1 + " : Exported"; lblCount.Refresh(); pb.Value += 1; } pb.Value = 0; Ex.Visible = true; MessageBox.Show(Ds.Tables[0].Rows.Count + " : Records Exported. "); Ex.Visible = true; Ex.Quit(); Ex = null; Ws = null;使用StreamWriter:这个方法比较简短而且是将数据导入如何类型的文件一种比较快方式在这个方法中,我将使用 System.IO 命名空间,我将编程去指定的.xls 或者 .doc等扩展来直接创建一个的文件路径。编码以文件的路径开始,这个路径是Excel文件被创建和数据存储的地方。现在,声明一个指定了路径的IO.StreamWriter对象。在这种方法中,每行的行值/列值被添加到以“|”作为分隔符的字符串中。现在,创建的文件包含以 "|" 分割的单列数据(CSV格式)。代码 string filePath = "c:\SystemIO_Exported_Data_AsOn_" + DateTime.Now.ToShortDateString() + ".xls"; //Stream Writer object to write the stream to file StreamWriter writer = new StreamWriter(File.Create(filePath)); string str = string.Empty; //"For Heading lblCount.Text = "Generating Heading."; this.Refresh(); for (int i = 0; i <= Ds.Tables[0].Columns.Count - 1; i++) { str += Ds.Tables[0].Columns[i].Caption +Constants.vbTab; } //Write stream to file adding a new line to stream str += Microsoft.VisualBasic.Constants.vbNewLine; writer.Write(str); writer.Flush(); pb.Maximum = Ds.Tables[0].Rows.Count + 1; foreach (DataRow dRow in Ds.Tables[0].Rows) { str = ""; for (int col = 0; col <= Ds.Tables[0].Columns.Count - 1; col++) { string STR1 = ""; char c = Strings.Chr(32); //char[] sep = " "; string[] str2 = null; str2 = dRow[col].ToString().Split(" "); for (int z = 0; z <= str2.Length - 1; z++) { //replacing all spaces and tabs with "|" (pipe sign) string y = str2[z].ToString().Replace(Strings.Chr(32), " ").Replace(Strings.Chr(13), " ").Replace(Strings.Chr(10), " ").Replace(Strings.Chr(9), " ").Replace("|", " "); STR1 += y + " "; } str += STR1 + "| "; pb.Value += 1; } str += Constants.vbNewLine; writer.Write(str); writer.Flush(); pb.Value = 0; } //Close the stream writer object writer.Close(); pb.Value = 0; MessageBox.Show("Data Exported Successfully.");对象拷贝的方法:这是另外一中将数据导入Excel的方法。在代码中,我们创建了二维数组:object[,] rawData = new object[dt.Rows.Count + 1, dt.Columns.Count]来包含数据表中的数据一旦数据被存储在一个数组当中,它将通过Excel Worksheet 的get_Range().value方法 ,将数据粘贴到一个 excel worksheet 之中。代码 if (Ds.Tables.Count > 3) { MessageBox.Show("There Are More than 3 data table. Data can not be exported.","提示"); return; } int sheetIndex = 0; Microsoft.Office.Interop.Excel.Application Ex = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Worksheet Ws; Microsoft.Office.Interop.Excel.Workbook Wb = Ex.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet); Ws = (Microsoft.Office.Interop.Excel.Worksheet)Ex.Worksheets[1]; // Copy each DataTable as a new Sheet foreach (System.Data.DataTable dt in Ds.Tables) { //On Error Resume Next int col = 0; int row = 0; // Copy the DataTable to an object array object[,] rawData = new object[dt.Rows.Count + 1, dt.Columns.Count]; lblCount.Text = "Copying Columns Name."; this.Refresh(); // Copy the column names to the first row of the object array pb1.Maximum = dt.Columns.Count + 1; pb1.Value = 0; for (col = 0; col <= dt.Columns.Count - 1; col++) { rawData[0, col] = dt.Columns[col].ColumnName.ToUpper(); pb1.Value += 1; } lblCount.Text = "Copying Data"; this.Refresh(); pb1.Value = 0; // Copy the values to the object array pb.Maximum = dt.Rows.Count + 1; pb.Value = 0; for (col = 0; col <= dt.Columns.Count - 1; col++) { for (row = 0; row <= dt.Rows.Count - 1; row++) { rawData[row + 1, col] = dt.Rows[row].ItemArray[col]; pb.Value += 1; } pb.Value = 0; pb1.Value += 1; } pb.Value = 0; pb1.Value = 0; lblCount.Text = ""; this.Refresh(); // Calculate the final column letter string finalColLetter = string.Empty; finalColLetter = ExcelColName(dt.Columns.Count); //Generate Excel Column Name (Column ID)sheetIndex += 1; Ws = (Microsoft.Office.Interop.Excel.Worksheet)Wb.Worksheets[sheetIndex]; Ws.Name = dt.TableName; string excelRange = string.Format("A1:{0}{1}", finalColLetter, dt.Rows.Count + 1);Ws.get_Range(excelRange, Type.Missing).Value2 = rawData; Ws = null; } Wb.SaveAs("C:\ExportedDataUsingObjectPastingMethod.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); Wb.Close(true, Type.Missing, Type.Missing); Wb = null; // Release the Application object Ex.Quit(); Ex = null; // Collect the unreferenced objects GC.Collect(); Interaction.MsgBox("Exported Successfully.", MsgBoxStyle.Information,"提示");我使用一个函数去找excel worksheet的列名
2023-07-12 06:10:081