java

阅读 / 问答 / 标签

怎样用 JavaScript 准确获取手机屏幕的宽度和高度

Javascript:网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.body.offsetWidth (包括边线的宽)网页可见区域高: document.body.offsetHeight (包括边线的高)网页正文全文宽: document.body.scrollWidth网页正文全文高: document.body.scrollHeight网页被卷去的高: document.body.scrollTop网页被卷去的左: document.body.scrollLeft网页正文部分上: window.screenTop网页正文部分左: window.screenLeft屏幕分辨率的高: window.screen.height屏幕分辨率的宽: window.screen.width屏幕可用工作区高度: window.screen.availHeight屏幕可用工作区宽度: window.screen.availWidthJQuery:$(document).ready(function(){alert($(window).height()); //浏览器当前窗口可视区域高度alert($(document).height()); //浏览器当前窗口文档的高度alert($(document.body).height());//浏览器当前窗口文档body的高度alert($(document.body).outerHeight(true));//浏览器当前窗口文档body的总高度 包括border padding marginalert($(window).width()); //浏览器当前窗口可视区域宽度alert($(document).width());//浏览器当前窗口文档对象宽度alert($(document.body).width());//浏览器当前窗口文档body的宽度alert($(document.body).outerWidth(true));//浏览器当前窗口文档body的总宽度 包括border padding margin})

用javascript获得控件的坐标位置

<input type="button" value="点击" onclick="get()"><input type="text" id="_hidName"><script language="javascript"> <!-- function get(){ var t=document.getElementById("_hidName").offsetTop;var l=document.getElementById("_hidName").offsetLeft;alert("top="+t+"\nleft="+l);}</script>

javascript 节点获取坐标(相对于屏幕页面...)

相对于屏幕的坐标没办法取页面的坐标可以获取offsetTop然后一直加offsetParent的offsetTop你最好使用jquery这种类库来处理,他已经屏蔽了浏览器兼容性问题 补充:元素的页面坐标就是直接访问属性,难道这个代码也要写出来么?你还使用jquery吧,容易使用的多,而且可以直接设置相对于父对象的坐标位置

javascript里面是不是没有offsetRight这个属性啊?只有offsetLeft、offsetHeight、offsetWidth

对没有 offsetRight 或者 offsetBottom 之类的有 offsetWidth offsetHeight offsetLeft offsetTop另外 如果你想看到底有没有这些属性 你可以看看关于js的数据还可以 在 google 火狐 或者ie 控制台查看 //强推荐 全看一遍 什么都知道了 不懂的属性百度举个小例子 :console.dir(document.getElementById("box"))可以直接看到关于 id为box的元素的很多信息 包括位置等等 希望对你有所帮助

javascript 中 offsetWidth 是什么意思?

clientWidth 是对象可见的宽度,不包滚动条等边线,会随窗口的显示大小改变。 offsetWidth 是对象的可见宽度,包滚动条等边线,会随窗口的显示大小改变。 一个scrollWidth和clientWidth的例子:020202<div id="demo"style="overflow: hidden; width: 460px; color #ffffff; height: 120px"<table height="120" cellPadding="0" width="600" align="right" border="0"cellspacing="0"<tr<td id=demo1 vAlign=top width=543<table borderColor="#ffffff" cellSpacing="2" cellPadding="0"width="50" border="1"<tr<tddddd</td</tr</table</td<td id=demo2 vAlign=top width=47</td</tr</table</div<script type="text/javascript"var speed = 1;// 速度数值越大速度越慢demo2.innerHTML = demo1.innerHTML;function Marquee() {if (demo2.offsetWidth - demo.scrollLeft <= 0) {/* scrollLeft 设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离。 */demo.scrollLeft -= demo1.offsetWidth;} else {demo.scrollLeft++;}}var MyMar = setInterval(Marquee, speed);demo.onmouseover = function() {clearInterval(MyMar);}demo.onmouseout = function() {MyMar = setInterval(Marquee, speed);}</script02020202clientWidth、offsetWidth、clientHeight..区别02IE6.0、FF1.06+:clientWidth = width + paddingclientHeight = height + paddingoffsetWidth = width + padding + borderoffsetHeight = height + padding + borderIE5.0/5.5:clientWidth = width - borderclientHeight = height - borderoffsetWidth = widthoffsetHeight = height(需要提一下:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关)offsetwidth:是元素相对父元素的偏移宽度。等于border+padding+widthclientwidth:是元素的可见宽度。等于padding+width

javascript 中的offsetHeight问题

因为图片加载需要时间,你的代码在获取div的offsetHeight的时候,图片还没有加载完成,所以得到的高度没有包含图片。可以把获取offsetHeight的方法写在图片的onload事件里,或者等图片加载后再获取。

Java数组,下列习题,高手能给下代码吗

public class TestDemo{ public static void main(String[] args){ int[][] score = {{100,93,92},{88,99,76},{95,80,99},{100,88,79},{99,87,89}}; int[] avg = new int[5]; for(int i = 0; i < score.length; i++){ System.out.print("第" +(i + 1) + "个学生的三门课成绩为:"); for(int j = 0; j < score[i].length; j++){ System.out.print(score[i][j] + " "); avg[i] += score[i][j]; } System.out.println(); avg[i] = avg[i] / 3; } for(int i = 0; i < avg.length; i++){ System.out.println("第" + (i + 1) + "个学生的平均成绩是" + avg[i]); } int[] avgscore = new int[3]; for(int i = 0; i < 3; i++){ for(int j = 0; j < 5; j++){ avgscore[i] += score[j][i]; } avgscore[i] = avgscore[i] / 5; } for(int i = 0; i < avgscore.length; i++){ System.out.println("第" + (i + 1) + "门学科的平均成绩是" + avgscore[i]); } int[] maxscore = {score[0][0], score[0][1], score[0][2]}; for(int i = 0; i < 3; i++){ for(int j = 0; j < 5; j++){ if(score[j][i] > maxscore[i]){ maxscore[i] = score[i][j]; } } } for(int i = 0; i < maxscore.length; i++){ System.out.println("第" + (i + 1) + "门学科的最高分" + maxscore[i]); } }}请采纳 不过算法是很简陋

Scores[i][j]++在java是啥意思?

你好,很高兴回答你的问题。i++这样的有没有使用过呢,了解吗?就是相当于i=i+1。这里的Score[i][j]++是一样道理。相当于Score[i][j]=Score[i][j]+1。如果有帮助到你,请点击采纳。

java面向对象如何创建对象?

java作为互联网编程中使用范围最广泛的编程语言之一,我们有许多的知识是需要掌握学习的,今天java课程培训机构就给大家分析讲解一下java面向对象的编程方法有哪些。常用的创建对象的模式有以下几种:一.工厂模式工厂模式抽象了具体对象的过程,用函数来封装以特ing接口创建对象的细节。如下:functioncreateAnimal(name,age){varo=newObject();o.name=name;o.age=age;o.sayName=function(){alert(this.name);}returno;}varcat=createAnimal("cat",12);vardog=createAnimal("dog",3);工厂模式虽然解决了创建多个相似兑现过的问题,但是却没有解决对象识别的问题。二.构造函数模式构造函数模式可以创建特定类型的对象。functionAnimal(name,age){this.name=name;this.age=age;this.sayName=function(){alert(this.name);}}varcat=newAnimal("cat",12);vardog=newAnimal("dog",3);可以使用对象的constructor属性或instanceof操作符来标识对象类型。cat.constructor==Animal//truecatinstanceofAnimal//true三.原型模式每个函数都有一个prototype(原型)属性。这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。使用原型对象的好处是,可以让所有对象实例共享它所包含的属性和方法。functionAnimal(){}Animal.prototype.name="animal";Animal.prototype.age=1;Animal.prototype.sayName=function(){alert(this.name);}vartest1=newAnimal();test1.sayName();//"animal"vartest2=newAnimal();test2.sayName();//"animal"alert(test1.sayName===test2.sayName);//true或者:functionAnimal(){}Animal.prototype={constructor:Animal,name:"animal",age:1,sayName:function(){alert(this.name);}};原型中所有属性是被很多实例共享的,通过在实例上添加一个同名属性,可以隐藏原型中的对应属性。但是,对于包含引用类型值的属性来说,问题就比较明显了。

Java创建对象

Circle circle=new Circle();Triang triang= new Triang();Ladder ladder=new Ladder();

这是一个程序阅读题。。。请问这个Java代码是什么意思 谢谢

class Mystery//定义一个Mystery类,包含一个字符串变量s{String s="original";//初值public static void main(String[] args){Mystery m=new Mystery();//new产生一个Mystery类的实例m,调用构造方法Mystery()m.go();//调用go();输出//new的使用格式:[已经存在的类名] [要产生的对象名称]=new [已经存在的类名](参数);}Mystery()//用来给字符串变量赋值s 构造方法//前面的void去了,有void在就不是构造方法,将void去掉,才是构造方法才执行赋值过程{s="constructor";//将字符串“constructor” 赋给字符串变量s}void go()//输出函数(方法){System.out.println(s);} }

JAVA中,构造器在一个对象被 new时执行;一个类中能定义一个构造器,这两句话都有错吗?

没有错

java代码分析

你new的时候调用了metrry的构造方法给s赋值了,然后再调用go的方法输出,就是这样的

JAVA创建对象有哪几种方式?

使用new关键字:这是我们最常见的也是最简单的创建对象的方式,通过这种方式我们还可以调用任意的够赞函数(无参的和有参的)。比如:Student student = new Student();使用Class类的newInstance方法:我们也可以使用Class类的newInstance方法创建对象,这个newInstance方法调用无参的构造器创建对象,如:Student student2 = (Student)Class.forName("根路径.Student").newInstance(); 或者:Student stu = Student.class.newInstance();使用Constructor类的newInstance方法:本方法和Class类的newInstance方法很像,java.lang.relect.Constructor类里也有一个newInstance方法可以创建对象。我们可以通过这个newInstance方法调用有参数的和私有的构造函数。如: Constructor<Student> constructor = Student.class.getInstance(); Student stu = constructor.newInstance(); 这两种newInstance的方法就是大家所说的反射,事实上Class的newInstance方法内部调用Constructor的newInstance方法。这也是众多框架Spring、Hibernate、Struts等使用后者的原因。使用Clone的方法:无论何时我们调用一个对象的clone方法,JVM就会创建一个新的对象,将前面的对象的内容全部拷贝进去,用clone方法创建对象并不会调用任何构造函数。要使用clone方法,我们必须先实现Cloneable接口并实现其定义的clone方法。如:Student stu2 = <Student>stu.clone();这也是原型模式的应用。使用反序列化:当我们序列化和反序列化一个对象,JVM会给我们创建一个单独的对象,在反序列化时,JVM创建对象并不会调用任何构造函数。为了反序列化一个对象,我们需要让我们的类实现Serializable接口。如:ObjectInputStream in = new ObjectInputStream (new FileInputStream("data.obj")); Student stu3 = (Student)in.readObject();

java有关 private constructor

好处?在单例的时候,可以保证只有一个实例,好处不多,私有会导致spring不能帮你实例话bean那么,如果被注解,或者被作为一个bean的话会报错,所以如果不是特殊情况没有必要私有,而且如果你有带参数的构造方法,也需要时刻记得生成一个无参数的构造,

Java中构造函数重载,一个构造函数是private一个是public,那这个类还可以new吗?

答案是private修饰的构造函数是不可以new的 ;public修饰的构造函数是可以new 的举例如下:1、定义一个类Constructor 无参和有参构造分别public 、private修饰package BaiduKnows;public class Constructor {private int x=1;public Constructor() {System.out.println(" 无参是有构造函数");}private Constructor(int x) {this.x=x;System.out.println("带参共有构造函数 X="+x);}}2、从新定义测试类:package BaiduKnows;public class ConstructorTest {public static void main(String[] args) {Constructor con = new Constructor();//这是可以的//Constructor con = new Constructor(20);这不可以}}

java中的反射机制是什么,有什么作用啊?

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的以及动态调用对象的方法的功能称为java语言的反射机制。Java反射机制主要提供了以下功能:在运行时判定任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判定任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。

JAVA中反射是什么

就是反射机制。是这是Java用来从外部加载文件的。一般可以用来做配制文件用。还有国际化的处理也可以用反射机制

java编程题,对于构造方法(constructor)描述正确的有

AC。理由就是答案说的

Java创建对象的几种方法

使用new关键字:这是我们最常见的也是最简单的创建对象的方式,通过这种方式我们还可以调用任意的够赞函数(无参的和有参的)。比如:Student student = new Student();使用Class类的newInstance方法:我们也可以使用Class类的newInstance方法创建对象,这个newInstance方法调用无参的构造器创建对象,如:Student student2 = (Student)Class.forName("根路径.Student").newInstance(); 或者:Student stu = Student.class.newInstance();使用Constructor类的newInstance方法:本方法和Class类的newInstance方法很像,java.lang.relect.Constructor类里也有一个newInstance方法可以创建对象。我们可以通过这个newInstance方法调用有参数的和私有的构造函数。如: Constructor<Student> constructor = Student.class.getInstance(); Student stu = constructor.newInstance(); 这两种newInstance的方法就是大家所说的反射,事实上Class的newInstance方法内部调用Constructor的newInstance方法。这也是众多框架Spring、Hibernate、Struts等使用后者的原因。使用Clone的方法:无论何时我们调用一个对象的clone方法,JVM就会创建一个新的对象,将前面的对象的内容全部拷贝进去,用clone方法创建对象并不会调用任何构造函数。要使用clone方法,我们必须先实现Cloneable接口并实现其定义的clone方法。如:Student stu2 = <Student>stu.clone();这也是原型模式的应用。使用反序列化:当我们序列化和反序列化一个对象,JVM会给我们创建一个单独的对象,在反序列化时,JVM创建对象并不会调用任何构造函数。为了反序列化一个对象,我们需要让我们的类实现Serializable接口。如:ObjectInputStream in = new ObjectInputStream (new FileInputStream("data.obj")); Student stu3 = (Student)in.readObject();

java 反射 constructors的问题,真心需要解决

con 里面的顺序是与student类中的构造方法的顺序一致所以将stu = (Student)con[1].newInstance(25); stu = (Student)con[2].newInstance("maosheng");调换一下位置就可以了stu = (Student)con[1].newInstance("maosheng");stu = (Student)con[2].newInstance(25);

JAVA 求大神们解答

class Person {private String name;private int age;public Person() {}public Person(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public void act(String mess){System.out.println(mess);}@Overridepublic String toString() {return "Person{" +"name="" + name + """ +", age=" + age +"}";}}public class TestReflect {public static void main(String[] args) throws Exception {Class cls = Class.forName("Person");Constructor constructor = cls.getConstructor(String.class, int.class);Object obj = constructor.newInstance("abc", 22);System.out.println(obj);Method method = cls.getMethod("act", String.class);method.invoke(obj, "测试反射");}}运行结果如下:Person{name="abc", age=22}测试反射

class、method、constructor在java语言中是什么关系?

简单的说:class指的是一个类,类代表一个类型的东西。class可以通过constructor(构造方法)来实例一个对象,一般情况下java代码使用类的对象,只有在使用静态变量,方法的时候才会使用class。method是指类中完成一定功能处理的代码。

java里类Constructor有泛型,而Method没有泛型怎么理解?

是否有,要看具体的代码怎样的~~~

达人帮忙呀,java里的constructor的意思及用途有没有人帮忙解释下的

这个就是构造函数的意思 实例化类

请问下 java constructor的作用。 这个必须要有吗

1、关于 java constructor的作用,构造器是一个创建对象时被自动调用的特殊方法,为的是初始化。构造器的名称应与类的名称一致。当创建一个个对象时,系统会该对象的属性默认初始化,基本类型属性的值为0(数值类型),false(布尔类型),把所有的引用类型设置为null. 构造器可以改变这种默认的初始化。构造器的作用:是创建java对象的重要途径,是不是说构造器完全负责创建java对象?是创建java对象的重要途径,通过new关键字调用构造器时,构造器也确实返回了该类的对象,但这个对象并不是完全由构造器负责创建的。首先要注意的是Java的构造器并不是函数,所以他并不能被继承,这在我们extends的时候写子类的构造器时比较的常见,即使子类构造器参数和父类的完全一样,我们也要写super就是因为这个原因。构造器的修饰符比较的有限,仅仅只有public private protected这三个,其他的例如任何修饰符都不能对其使用,也就是说构造器不允许被成名成抽象、同步、静态等等访问限制以外的形式。因为构造器不是函数,所以它是没有返回值的,也不允许有返回值。但是这里要说明一下,构造器中允许存在return语句,但是return什么都不返回,如果你指定了返回值,虽然编译器不会报出任何错误,但是JVM会认为他是一个与构造器同名的函数罢了,这样就会出现一些莫名其妙的无法找到构造器的错误,这里是要加倍注意的。

Java中的构造函数Constructor怎么用

定义好一个构造函数,创建对象时就会自动调用它。构造函数没有返回类型,即使是void类型也没有。这是因为一个类的构造函数的返回值的类型就是这个类本身。构造函数的任务是初始一个对象的内部状态,所以用new操作符创建一个实例后,立刻就会得到一个清楚、可用的对象。下面这个例子里,用构造函数取代了成员函数init。classUniversity{Stringname,city;University(Stringname,Stringcity){this.name=name;this.city=city;}}classUniversityCreate{publicstaticvoidmain(Stringargs[]){Universityu=newUniversity("北?copy;大学","北?copy;");System.out.println("大学:"+u.name+"城市:"+u.city);}}new语句中类名后的参数是传给构造函数的。

java中的 constructor是在什么时候执行?

C

java基础代码,求问那句maria.doSth(jose)的影响,两个乌龟分别怎么动(蓝色是jo

jose 不动 ,maria forward(40) turn(-90)这是java 中的方法传参问题 ,在java中参数类型是引用类型,传的是这个引用参数的引用的副本,在dosth()中,这个引用turtle指向了maria的地址,改变的都是maria值

JavaScript 图片切换 修改

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><style> *{ margin:0; padding:0}#lbCaption {display:block;font-size:12px;font-weight:100;}#img_container{ text-align:left; position:relative; margin:0 auto;border:1px solid #000; overflow:hidden;width:748px; height:500px;}#imgbox{position:absolute; width:2000px;left:0px;top:0}#imgbox img{ float:left; border:0; margin:0; width:748px; height:500px; }</style><div id="img_container"><div id="imgbox" style="left:0"></div></div><div style="text-align:center"><a href="javascript:void(0)" id="pre" >u25c4</a> <span id="currentnum">1</span>/<span id="allnum"></span> <a id="next" href="javascript:void(0)">u25ba</a> </div> <script type="text/javascript"> $=function(obj){return document.getElementById(obj);}//图片显示的宽度。对应样式中的宽度也要修改为一致。var imgWidth=748;//图片地址var imgsrc= new Array();imgsrc[0]="http://www.codefans.net/jscss/demoimg/wall1.jpg";imgsrc[1]="http://www.codefans.net/jscss/demoimg/wall2.jpg";imgsrc[2]="http://www.codefans.net/jscss/demoimg/wall3.jpg";imgsrc[3]="http://www.codefans.net/jscss/demoimg/wall4.jpg";//点开后大图地址var bigimgurl= new Array();bigimgurl[0]="http://www.codefans.net/jscss/demoimg/wall1.jpg";bigimgurl[1]="http://www.codefans.net/jscss/demoimg/wall2.jpg";bigimgurl[2]="http://www.codefans.net/jscss/demoimg/wall3.jpg";bigimgurl[3]="http://www.codefans.net/jscss/demoimg/wall4.jpg";//图片文字简介var title= new Array();title[0]="风景美如画";title[1]="最爱旅游";title[2]="图片文字";title[3]="图片文字介绍";title[4]="您的内容";var arraylen=imgsrc.length;for (i=0; i<arraylen;i++){var obox=$("imgbox");var oimg=document.createElement("img"); oimg.setAttribute("src",imgsrc[i]);var oa=document.createElement("a"); oa.setAttribute("href","#"); oa.setAttribute("title",title[i]); oa.setAttribute("rel","lytebox[vacation]"); oa.appendChild(oimg); obox.appendChild(oa);}$("allnum").innerHTML=imgsrc.length;$("next").onclick=function(){var Oleft=parseInt($("imgbox").style.left);if(Oleft<=-(imgsrc.length-1)*imgWidth){Oleft=imgWidth};$("imgbox").style.left= Oleft-imgWidth + "px";$("currentnum").innerHTML=-parseInt($("imgbox").style.left)/imgWidth+1; } $("pre").onclick=function(){ var Oleft=parseInt($("imgbox").style.left);if(Oleft>=0){Oleft=-(imgsrc.length)*imgWidth}; $("imgbox").style.left= Oleft+imgWidth + "px"; $("currentnum").innerHTML=-parseInt($("imgbox").style.left)/imgWidth+1; } </script>

JavaScript 的网页图片切换代码

去懒人之家里看看,那里可选择性比较大

用javascript编写:输入几行几列 就生成几行几列的一个表格 的程序怎么写 。求大神解答

function create(lines, rows){var parent = document.getElementsByTagName("body")[0],table = null,lele = null,rele = null,node = null;table = document.createElement("table");parent.appendChild(table);for(var line = 0; line < lines; line++){lele = document.createElement("tr");for(var row = 0; row < rows; row++){rele = document.createElement("td");node = document.createTextNode(line + row);rele.appendChild(node);lele.appendChild(rele);}parent.appendChild(lele);}}调用上面的函数,输入行列数量,就可以生成表格了。默认是在body下面生成的,你可以根据你自己的需要修改parent,以将table到对应元素下。

java怎么获取这个xml字符串中的的所有属性??

java 解析 xml 有四种方式,最常用的是 dom4j! 网上多的是 ,还有 dom ,saxs ,jdom

能不能用JAVA类实现把EXCEL文件转化成PDF文件

java对Ecel的处理,你基本不要自己写代码的。我用的是POI包----支持对excel的处理,从table导出excel,导出word,导出pdf都可以。而且,你可以修改源码。自己上网下载吧。

java 中用poi读取word和用docx4j读取word?

不知道你是具体读取Word里面的什么元素,下面以读取文字和图片为例吧,两个代码示例,你参考看看:读取文本import com.spire.doc.Document;import java.io.FileWriter;import java.io.IOException;public class ExtractText {public static void main(String[] args) throws IOException {//加载Word文档Document document = new Document();document.loadFromFile("C:\Users\Administrator\Desktop\sample.docx");//获取文档中的文本保存为StringString text=document.getText();//将String写入Txt文件writeStringToTxt(text,"ExtractedText.txt");}public static void writeStringToTxt(String content, String txtFileName) throws IOException {FileWriter fWriter= new FileWriter(txtFileName,true);try {fWriter.write(content);}catch(IOException ex){ex.printStackTrace();}finally{try{fWriter.flush();fWriter.close();} catch (IOException ex) {ex.printStackTrace();}}}}2. 读取图片import com.spire.doc.Document;import com.spire.doc.documents.DocumentObjectType;import com.spire.doc.fields.DocPicture;import com.spire.doc.interfaces.ICompositeObject;import com.spire.doc.interfaces.IDocumentObject;import javax.imageio.ImageIO;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.Queue;public class ExtractImages {public static void main(String[] args) throws IOException {//加载Word文档Document document = new Document();document.loadFromFile("C:\Users\Administrator\Desktop\sample.docx");//创建Queue对象Queue nodes = new LinkedList();nodes.add(document);//创建List对象List images = new ArrayList();//遍历文档中的子对象while (nodes.size() > 0) {ICompositeObject node = nodes.poll();for (int i = 0; i < node.getChildObjects().getCount(); i++) {IDocumentObject child = node.getChildObjects().get(i);if (child instanceof ICompositeObject) {nodes.add((ICompositeObject) child);//获取图片并添加到Listif (child.getDocumentObjectType() == DocumentObjectType.Picture) {DocPicture picture = (DocPicture) child;images.add(picture.getImage());}}}}//将图片保存为PNG格式文件for (int i = 0; i < images.size(); i++) {File file = new File(String.format("output/图片-%d.png", i));ImageIO.write(images.get(i), "PNG", file);}}}注意这里使用的jar包是spire.doc.jar,需要在java程序中先导入jar文件。

Java 给Word添加数字签名 Java给Word添加数字签名的方法

Java 给Word添加数字签名 Java给Word添加数字签名的方法。数字签名是一种应用于数字数据的电子加密身份验证戳记,主要用于确认来自签名者的信息以及文档内容未被篡改。本文,将介绍如何使用Spire.DocforJava以编程方式向Word文档添加数字签名。工具/材料IntedliJIDEAJDK1.8.0Jar包:spire.doc.jar4.5.1Word文档:.docx2013版数字证书:.pfx及秘钥操作方法011.关于如何导入jar1.1手动下载jar包,导入,1.2maven仓库下载导入,须配置pom.xml文件,如下:repositoriesrepositoryidcom.e-iceblue/idurl/repository/repositoriesdependenciesdependencygroupIde-iceblue/groupIdspire.docversion4.5.1/version/dependency/dependencies完成配置后方可下载导入。02Java代码:importcom.spire.doc.*;publicclassAddSignature{publicstaticvoidmain(String[]args){//加载Word文档Documentdoc=newDocument();doc.loadFromFile("test.docx");//添加数字签名,并保存文档doc.saveToFile("AddSignature.docx",FileFormat.Docx_2013,"Cermia.pfx","123654yes!");}}03运行程序,生成Word文档。可查看如下图中的签名添加效果:

如何用Java做word里面的艺术字

1、插入艺术字:插入--文本--艺术字;2、左键按住艺术字拖动到图片上需要的位置。

java将html文件转成pdf

核心代码如下package com.hmkcode;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import com.itextpdf.html2pdf.HtmlConverter;public class App { public static final String HTML = "<h1>Hello</h1>" + "<p>This was created using iText</p>" + "<a href="hmkcode.com">hmkcode.com</a>";public static void main( String[] args ) throws FileNotFoundException, IOException { HtmlConverter.convertToPdf(HTML, new FileOutputStream("string-to-pdf.pdf")); System.out.println( "PDF Created!" ); }}

用java怎么将word文档转成图片格式

1.打开保存有图片的word文档。2.在文件菜单中选择另存为。3.将文件另存为htm或html格式的网页。4.打开保存文件夹,可以看到保存网页的位置会有一个files的文件夹。5.打开这个文件夹,可以看到,word文档中的图片都被以png格式保存到这个文件夹里,图片文件名的前缀是image,并且按顺序进行了命名。

Java用什么类操作Excel、Word

spire.xls for java 操作excel, spire.doc for java操作word

Java 检测Excel文档是否被签名 Java 添加数字签名到excel及检测

Java 检测Excel文档是否被签名 Java 添加数字签名到excel及检测。Excel中添加数字签名用于防伪,声明等作用。当一个文档不知其是否签名时,可通过一定方法来检查,下面通过Java程序代码介绍如何来检测。工具/材料Excel版本:2013编辑环境:IntelliJIDEA2018JDK版本:1.8.0Excel库工具:spire.xls.jar4.3.4操作方法01在IDEA项目文件夹下,存入用于测试的Excel源文档,即文档路径(这里的路径也可以自定义为其他路径)。02在项目引入spire.xls.jar4.3.4文件。03在程序中键入如下代码:importcom.spire.xls.*;publicclassDetectSignature{publicstaticvoidmain(String[]args){//加载Excel工作簿Workbookwb=newWorkbook();wb.loadFromFile("AddSignature.xlsx");//判断文档是否签名booleansignature=wb.isDigitallySigned();if(signature==true){System.out.println("文档已签名!");}else{System.out.println("未签名文档!");}}}04完成代码后,执行程序,可查看检测结果:

JAVA编辑WORD文件插入图片

以前做过其他office的没做过微软的,不过大同小异这个你就需要在java中获取到word的某种对象,方法有很多,但是要看你用什么方式调用的office了,如果是某个牌子的中间件,那就用那个中间件的二次开发文档里面应该就有提到这些方法,如果是第三方的jar包,应该也不麻烦,通过jar包中的方法,可能要有一个word的实例创建的过程吧,然后获取到range或者textrange等这些对象(应该是这俩对象……)通过这对象然后找到插入图片的方法,然后传入位置参数(可能是两个数用逗号隔开)

Java 给Excel添加数字签名 Excel VBA使用数字签名

Java 给Excel添加数字签名 Excel VBA使用数字签名。Excel中可添加数字签名以供文档所有者申明文档的所有权或有效性。下面介绍如何在Java程序代码中实现给Excel工作簿添加签名。工具/材料Excel版本:2013编译环境:IntelliJ IDEA2018JDK版本:1.8.0Excel库工具:spire.xls.jar 4.3.4数字证书及密码操作方法01在IDEA项目文件夹路径下,存入一个Excel文件,版本为2013版本的xlsx文件;以及已知密码的pfx格式的数字证书。如图:02在idea项目引入excel库工具spire.xls.jar的包,如图:03在程序中键入如下代码:import com.spire.xls.*;import com.spire.xls.digital.CertificateAndPrivateKey;import java.util.Date;public class AddSignature {public static void main(String[] args) throws Exception {//加载Excel工作簿Workbook wb = new Workbook();wb.loadFromFile("test.xlsx");//添加数字签名wb.addDigitalSignature(new CertificateAndPrivateKey("cer.pfx","123654yes!"), "The Author is Mia",new Date());//保存文档wb.saveToFile("AddSignature.xlsx",ExcelVersion.Version2013);wb.dispose();}}04执行程序,生成文档。在结果文档中查看签名添加效果:1. 添加签名import com.spire.xls.*;import com.spire.xls.digital.CertificateAndPrivateKey;import java.util.Date;public class AddSignature {public static void main(String[] args) throws Exception {//加载Excel工作簿Workbook wb = new Workbook();wb.loadFromFile("test.xlsx");//添加数字签名wb.addDigitalSignature(new CertificateAndPrivateKey("cer.pfx","123654yes!"), "The Author is Mia",new Date());//保存文档wb.saveToFile("AddSignature.xlsx",ExcelVersion.Version2013);wb.dispose();}}2.检测是否签名import com.spire.xls.*;public class DetectSignature {public static void main(String[] args) {//加载Excel工作簿Workbook wb = new Workbook();wb.loadFromFile("AddSignature.xlsx");//判断文档是否签名boolean signature = wb.isDigitallySigned();if(signature==true){System.out.println("文档已签名!");}else{System.out.println("未签名文档!");}}}3.删除签名import com.spire.xls.*;public class RemoveSignature {public static void main(String[] args) {//加载Excel工作簿Workbook wb = new Workbook();wb.loadFromFile("AddSignature.xlsx");//删除签名wb.removeAllDigitalSignatures();//保存文档wb.saveToFile("RemoveSignature.xlsx",ExcelVersion.Version2013);wb.dispose();}}执行程序代码后,生成的结果文档中不再有签名。特别提示代码中的路径为IDEA项目文件夹路径,路径也可另外自定义。

如何通过JAVA 读取.wps et及 dps文件格式的内容

服务器解析的话,有POI或者JExcelApi等方式。客户端启动WPS进程解析的话,可以通过JCOM。

spire.xls for java如何获得表格中数据

spire.xls for java获得表格中数据方法如下1.打开电脑桌面上的图标。2.需要将表格的数据给提出来。3.选中需要提取数据的单元格,按鼠标右键弹出列表中点【复制】选项。4.点空白单元格按鼠标右键,在弹出的对话点【选择性粘贴】选项。5.在弹出的对话框中运算点【加】,之后点【确定】即可。

java想要对已有word文档追加图片,应该怎么做?

以前做过其他office的没做过微软的,不过大同小异这个你就需要在java中获取到word的某种对象,方法有很多,但是要看你用什么方式调用的office了,如果是某个牌子的中间件,那就用那个中间件的二次开发文档里面应该就有提到这些方法,如果是第三方的jar包,应该也不麻烦,通过jar包中的方法,可能要有一个word的实例创建的过程吧,然后获取到range或者textrange等这些对象(应该是这俩对象……)通过这对象然后找到插入图片的方法,然后传入位置参数(可能是两个数用逗号隔开)

JavaScript之学习如何制做有边框和无边框窗口

这个技巧是所有窗口技术中最让人感到惊叹的一个。但是很可惜的时,它只能在 Communicator 浏览器下运行,并且需要经过签名的脚本。JavaScript 1.2 在去除浏览器工具栏这一功能上比 1.1 做的要好,它可以去除所有的浏览器边框,包括标题栏和三维边界。还有一点会让事情看起来更加复杂,因为在这个例子中的脚本没有经过签名,所以用户启动代码库原则(codebase principle)才能看到去除边框的窗口。要创建无边框窗口,需要用户额外的授权,并在 window 的 open() 方法的第三个参数中添加一个简单的 titlebar=no:var bareWin = null; var whoAmI = navigator.appName; var whatAmI = parseInt(navigator.appVersion.charAt(0)); function stripTease() { if (whoAmI == "Netscape" && whatAmI >= 4) { netscape.security.PrivilegeManager.disablePrivilege("UniversalBrowserWrite");} else {alert("Whoa, Web Builder! Download a version of Netscape Communicator 4.x to view the chromeless window! ");}} 由于标题栏以及三维边框都不见了,所以有些原本该有的功能也随之消失,例如拖曳标题,拖曳边框来改变窗口大小,最小化,最大化以及关闭窗口等按钮都会无法使用。撇开浏览器专属的安全性问题不谈,上面这段程序代码能够让你创建一个真正完全自主的窗口。

java导出txt 数据对齐

等待答应,偶也不晓得

java 字符串2015-04-09T15:09:46.734429+08:00转日期类型 新手求解!!!

Date date = new Date();System.out.println(date.toLocaleString());

java书中有一题不是太懂!编译没错误,但就是执行时出现了错误,求高手指教!

是转换问题,对printf(),我也不熟,用println()用的比较多

java中%[argument_index$][flage][width][.precision]conversion各个部分的意义

正好我昨天就在研究这个。。我说你就不会查api吗?上面写的很详细,全部贴上来的话居然都超过百度限制的字数了。。。转换 转换可分为以下几类: 常规 - 可应用于任何参数类型 字符 - 可应用于表示 Unicode 字符的基本类型:char、Character、byte、Byte、short 和 Short。当 Character.isValidCodePoint(int) 返回 true 时,可将此转换应用于 int 和 Integer 类型 数值 整数 - 可应用于 Java 的整数类型:byte、Byte、short、Short、int、Integer、long、Long 和 BigInteger 浮点 - 可用于 Java 的浮点类型:float、Float、double、Double 和 BigDecimal 日期/时间 - 可应用于 Java 的、能够对日期或时间进行编码的类型:long、Long、Calendar 和 Date。 百分比 - 产生字面值 "%" ("u0025") 行分隔符 - 产生特定于平台的行分隔符 下表总结了受支持的转换。由大写字符(如 "B"、"H"、"S"、"C"、"X"、"E"、"G"、"A" 和 "T")表示的转换与由相应的小写字符的转换等同,根据流行的 Locale 规则将结果转换为大写形式除外。后者等同于 String.toUpperCase() 的以下调用 out.toUpperCase() 转换 参数类别 说明 "b", "B" 常规 如果参数 arg 为 null,则结果为 "false"。如果 arg 是一个 boolean 值或 Boolean,则结果为 String.valueOf() 返回的字符串。否则结果为 "true"。 "h", "H" 常规 如果参数 arg 为 null,则结果为 "null"。否则,结果为调用 Integer.toHexString(arg.hashCode()) 得到的结果。 "s", "S" 常规 如果参数 arg 为 null,则结果为 "null"。如果 arg 实现 Formattable,则调用 arg.formatTo。否则,结果为调用 arg.toString() 得到的结果。 "c", "C" 字符 结果是一个 Unicode 字符 "d" 整数 结果被格式化为十进制整数 "o" 整数 结果被格式化为八进制整数 "x", "X" 整数 结果被格式化为十六进制整数 "e", "E" 浮点 结果被格式化为用计算机科学记数法表示的十进制数 "f" 浮点 结果被格式化为十进制数 "g", "G" 浮点 根据精度和舍入运算后的值,使用计算机科学记数形式或十进制格式对结果进行格式化。 "a", "A" 浮点 结果被格式化为带有效位数和指数的十六进制浮点数 "t", "T" 日期/时间 日期和时间转换字符的前缀。请参阅日期/时间转换。 "%" 百分比 结果为字面值 "%" ("u0025") "n" 行分隔符 结果为特定于平台的行分隔符 任何未明确定义为转换的字符都是非法字符,并且都被保留,以供将来扩展使用。 日期/时间转换以下日期和时间转换的后缀字符是为 "t" 和 "T" 转换定义的。这些类型相似于但不完全等同于那些由 GNU date 和 POSIX strftime(3c) 定义的类型。提供其他转换类型是为了访问特定于 Java 的功能(如将 "L" 用作秒中的毫秒)。 以下转换字符用来格式化时间: "H" 24 小时制的小时,被格式化为必要时带前导零的两位数,即 00 - 23。 "I" 12 小时制的小时,被格式化为必要时带前导零的两位数,即 01 - 12。 "k" 24 小时制的小时,即 0 - 23。 "l" 12 小时制的小时,即 1 - 12。 "M" 小时中的分钟,被格式化为必要时带前导零的两位数,即 00 - 59。 "S" 分钟中的秒,被格式化为必要时带前导零的两位数,即 00 - 60 ("60" 是支持闰秒所需的一个特殊值)。 "L" 秒中的毫秒,被格式化为必要时带前导零的三位数,即 000 - 999。 "N" 秒中的毫微秒,被格式化为必要时带前导零的九位数,即 000000000 - 999999999。 "p" 特定于语言环境的 上午或下午 标记以小写形式表示,例如 "am" 或 "pm"。使用转换前缀 "T" 可以强行将此输出转换为大写形式。 "z" 相对于 GMT 的 RFC 822 格式的数字时区偏移量,例如 -0800。 "Z" 表示时区缩写形式的字符串。Formatter 的语言环境将取代参数的语言环境(如果有)。 "s" 自协调世界时 (UTC) 1970 年 1 月 1 日 00:00:00 至现在所经过的秒数,即 Long.MIN_VALUE/1000 与 Long.MAX_VALUE/1000 之间的差值。 "Q" 自协调世界时 (UTC) 1970 年 1 月 1 日 00:00:00 至现在所经过的毫秒数,即 Long.MIN_VALUE 与 Long.MAX_VALUE 之间的差值。 以下转换字符用来格式化日期: "B" 特定于语言环境的月份全称,例如 "January" 和 "February"。 "b" 特定于语言环境的月份简称,例如 "Jan" 和 "Feb"。 "h" 与 "b" 相同。 "A" 特定于语言环境的星期几全称,例如 "Sunday" 和 "Monday" "a" 特定于语言环境的星期几简称,例如 "Sun" 和 "Mon" "C" 除以 100 的四位数表示的年份,被格式化为必要时带前导零的两位数,即 00 - 99 "Y" 年份,被格式化为必要时带前导零的四位数(至少),例如,0092 等于格里高利历的 92 CE。 "y" 年份的最后两位数,被格式化为必要时带前导零的两位数,即 00 - 99。 "j" 一年中的天数,被格式化为必要时带前导零的三位数,例如,对于格里高利历是 001 - 366。 "m" 月份,被格式化为必要时带前导零的两位数,即 01 - 13。 "d" 一个月中的天数,被格式化为必要时带前导零两位数,即 01 - 31 "e" 一个月中的天数,被格式化为两位数,即 1 - 31。 以下转换字符用于格式化常见的日期/时间组合。 "R" 24 小时制的时间,被格式化为 "%tH:%tM" "T" 24 小时制的时间,被格式化为 "%tH:%tM:%tS"。 "r" 12 小时制的时间,被格式化为 "%tI:%tM:%tS %Tp"。上午或下午标记 ("%Tp") 的位置可能与语言环境有关。 "D" 日期,被格式化为 "%tm/%td/%ty"。 "F" ISO 8601 格式的完整日期,被格式化为 "%tY-%tm-%td"。 "c" 日期和时间,被格式化为 "%ta %tb %td %tT %tZ %tY",例如 "Sun Jul 20 16:17:00 EDT 1969"。 任何未明确定义为转换的字符都是非法字符,并且都被保留,以供将来扩展使用。 标志下表总结了受支持的标志。y 表示该标志受指示参数类型支持。 标志 常规 字符 整数 浮点 日期/时间 说明 "-" y y y y y 结果将是左对齐的。 "#" y1 - y3 y - 结果应该使用依赖于转换类型的替换形式 "+" - - y4 y - 结果总是包括一个符号 " " - - y4 y - 对于正值,结果中将包括一个前导空格 "0" - - y y - 结果将用零来填充 "," - - y2 y5 - 结果将包括特定于语言环境的组分隔符 "(" - - y4 y5 - 结果将是用圆括号括起来的负数 1 取决于 Formattable 的定义。 2 只适用于 "d" 转换。 3 只适用于 "o"、"x" 和 "X" 转换。 4 对 BigInteger 应用 "d"、"o"、"x" 和 "X" 转换时,或者对 byte 及 Byte、short 及 Short、int 及 Integer、long 及 Long 分别应用 "d" 转换时适用。 5 只适用于 "e"、"E"、"f"、"g" 和 "G" 转换。 任何未显式定义为标志的字符都是非法字符,并且都被保留,以供扩展使用。 宽度 宽度是将向输出中写入的最少字符数。对于行分隔符转换,不适用宽度,如果提供宽度,则会抛出异常。 精度 对于常规参数类型,精度是将向输出中写入的最多字符数。 对于浮点转换 "e"、"E" 和 "f",精度是小数点分隔符后的位数。如果转换是 "g" 或 "G",那么精度是舍入计算后所得数值的所有位数。如果转换是 "a" 或 "A",则不必指定精度。 对于字符、整数和日期/时间参数类型转换,以及百分比和行分隔符转换,精度是不适用的;如果提供精度,则会抛出异常。 参数索引 参数索引是一个十进制整数,用于表明参数在参数列表中的位置。第一个参数由 "1$" 引用,第二个参数由 "2$" 引用,依此类推。 根据位置引用参数的另一种方法是使用 "<" ("u003c") 标志,这将会重用以前格式说明符的参数。例如,以下两条语句产生的字符相同: Calendar c = ...; String s1 = String.format("Duke"s Birthday: %1$tm %1$te,%1$tY", c); String s2 = String.format("Duke"s Birthday: %1$tm %<te,%<tY", c);

java中string.format("%1$4d",year),是什么意思

String类 方法详细信息 format public static String format(String format,Object... args)使用指定的格式字符串和参数返回一个格式化字符串。 始终使用 Locale.getDefault() 返回的语言环境。参数: format - 格式字符串 args - 格式字符串中由格式说明符引用的参数。如果还有格式说明符以外的参数,则忽略这些额外的参数。参数的数目是可变的,可以为 0。参数的最大数目受 Java Virtual Machine Specification 所定义的 Java 数组最大维度的限制。有关 null 参数的行为依赖于转换。 返回: 一个格式化字符串 抛出: IllegalFormatException - 如果格式字符串中包含非法语法、与给定的参数不兼容的格式说明符,格式字符串给定的参数不够,或者存在其他非法条件。有关所有可能的格式化错误的规范,请参阅 formatter 类规范的详细信息 一节。 NullPointerException - 如果 format 为 null 从以下版本开始: 1.5 另请参见: Formatterformat public static String format(Locale l,String format,Object... args)使用指定的语言环境、格式字符串和参数返回一个格式化字符串。 参数: l - 格式化过程中要应用的语言环境。如果 l 为 null,则不进行本地化。 format - 格式字符串 args - 格式字符串中由格式说明符引用的参数。如果还有格式说明符以外的参数,则忽略这些额外的参数。参数的数目是可变的,可以为 0。参数的最大数目受 Java Virtual Machine Specification 所定义的 Java 数组最大维度的限制。有关 null 参数的行为依赖于转换。 返回: 一个格式化字符串 抛出: IllegalFormatException - 如果格式字符串中包含非法语法、与给定参数不兼容的格式说明符,格式字符串给定的参数不够,或存在其他非法条件。有关所有可能的格式化错误的规范,请参阅 formatter 类规范的详细信息 一节。 NullPointerException - 如果 format 为 null 从以下版本开始: 1.5 另请参见: Formatter

Java如何获取Date类型且格式为yyyy-mm-dd的日期数据?

把字符串转为日期用sdf.parse(

Java日期格式转换

假设你的date对象名为oldDate:java.text.SimpleDateFormat fmt = new java.text.SimpleDateFormat("yyyy-MM-dd");oldDate=fmt.format(oldDate);

java j-interop 怎么调用wmi

有关WMI的小知识Windows管理规范(WMI)是微软对来自分布式管理任务组(DMTF)的基于Web的企业管理(WBEM)和通用信息模型(CIM)标准的实现。WMI用于访问Windows系统、应用、网络、设备等组件,并管理它们。连接到一台机器通过DCOM进行管理。因此,有关DCOM的小知识将有助于本文的理解。你可以到MSDN了解有关WMI的更多细节。J-Interop市场上有一些在使用 JAVA 调用 WMI 的好库,包括 J-Interop、JACOB-Project 和 J-Integra。其中,我更喜欢J-Interop,因为它是完全免费和开源的API。它提供了没有任何依赖的纯DCOM桥,完全用Java编写的没有任何JNI代码。使用WMI管理Windows服务现在,来看一个使用JAVA调用WMI的例子。这个例子利用J-Interop的API使用Win32_Service类解释WMI操作,将启动和停止在这个例子中的窗口服务。步骤1:连接到WBEM服务下面的代码示例显示了使用J-Interop如何初始化DCOM会话,并连接到远程DCOM服务使。它使用SWbemLocator对象连接到SWbemServices,SWbemServices对象提供对本地或远程计算机WMI的访问,它调用“ConnectServer”方法连接到SWbemServices。在本例中,提供管理员级别的用户连接到远程计算机。JISessiondcomSession=JISession.createSession(domainName,userName,password);dcomSession.useSessionSecurity(false); JIComServercomServer=newJIComServer(valueOf("WbemScripting.SWbemLocator"),hostIP,dcomSession);IJIDispatchwbemLocator=(IJIDispatch)narrowObject(comServer.createInstance().queryInterface(IID));//parameterstoconnecttoWbemScripting.SWbemLocatorObject[]params=newObject[]{ newJIString(hostIP),//strServer newJIString(win32_namespace),//strNamespace JIVariant.OPTIONAL_PARAM(),//strUser JIVariant.OPTIONAL_PARAM(),//strPassword JIVariant.OPTIONAL_PARAM(),//strLocale JIVariant.OPTIONAL_PARAM(),//strAuthority newInteger(0),//iSecurityFlags JIVariant.OPTIONAL_PARAM()//objwbemNamedValueSet }; JIVariantresults[]=wbemLocator.callMethodA("ConnectServer",params);IJIDispatchwbemServices=(IJIDispatch)narrowObject(results[0].getObjectAsComObject());(domainName=远程计算机域名,hostIP=远程计算机IP地址,用户名=管理员级别的用户,密码=密码)第2步:获取Win32_Service实例一旦你获得对SWbemServices对象的引用,就可以调用这个类的任何方法。其中WbemServices.InstancesOf方法获得任何Win32类的实例。也可以使用WMI查询语言(WQL)达到同样的目的,如下所示:finalintRETURN_IMMEDIATE=0x10;finalintFORWARD_ONLY=0x20;Object[]params=newObject[]{newJIString("SELECT*FROMWin32_Service"),JIVariant.OPTIONAL_PARAM(),newJIVariant(newInteger(RETURN_IMMEDIATE+FORWARD_ONLY))};JIVariant[]servicesSet=wbemServices.callMethodA("ExecQuery",params);IJIDispatchwbemObjectSet=(IJIDispatch)narrowObject(servicesSet[0].getObjectAsComObject());第三步:执行方法现在,已得到Win32_Service类的实例,可采用下述代码来调用同一类的方法,因为,它返回多个服务实例,要列举它们以便获取IJIDispatcher服务。JIVariant newEnumvariant = wbemObjectSet.get("_NewEnum");IJIComObject enumComObject = newEnumvariant.getObjectAsComObject();IJIEnumVariant enumVariant = (IJIEnumVariant) narrowObject(enumComObject.queryInterface(IJIEnumVariant.IID)); Object[] elements = enumVariant.next(1);JIArray aJIArray = (JIArray) elements[0]; JIVariant[] array = (JIVariant[]) aJIArray.getArrayInstance();for (JIVariant variant : array) { IJIDispatch wbemObjectDispatch = (IJIDispatch) narrowObject(variant.getObjectAsComObject()); JIVariant returnStatus = wbemObjectDispatch.callMethodA("StopService"); System.out.println(returnStatus.getObjectAsInt());}现在,下面的代码显示了一个使用WMI启动和停止Windows服务的完整Java类。packagecom.wmi.windows; importstaticorg.jinterop.dcom.core.JIProgId.valueOf;importstaticorg.jinterop.dcom.impls.JIObjectFactory.narrowObject;importstaticorg.jinterop.dcom.impls.automation.IJIDispatch.IID;importjava.util.logging.Level;importorg.jinterop.dcom.common.JIException;importorg.jinterop.dcom.common.JIRuntimeException;importorg.jinterop.dcom.common.JISystem;importorg.jinterop.dcom.core.IJIComObject;importorg.jinterop.dcom.core.JIArray;importorg.jinterop.dcom.core.JIComServer;importorg.jinterop.dcom.core.JISession;importorg.jinterop.dcom.core.JIString;importorg.jinterop.dcom.core.JIVariant;importorg.jinterop.dcom.impls.automation.IJIDispatch;importorg.jinterop.dcom.impls.automation.IJIEnumVariant; publicclassServiceManager{ privatestaticStringdomainName=""; privatestaticStringuserName="administrator"; privatestaticStringpassword=""; privatestaticStringhostIP="127.0.0.1"; privatestaticfinalStringwin32_namespace="ROOT\CIMV2"; privatestaticfinalintSTOP_SERVICE=0; privatestaticfinalintSTART_SERVICE=1; privateJISessiondcomSession=null; publicstaticvoidmain(String[]args){ ServiceManagermanager=newServiceManager(); manager.stopService(domainName,hostIP,userName,password,"MySql");//stopsaservicenamedMySql } publicvoidstartService(StringdomainName,Stringhostname,Stringusername,Stringpassword,StringserviceName){ execute(domainName,hostname,username,password,serviceName,START_SERVICE); } publicvoidstopService(StringdomainName,Stringhostname,Stringusername,Stringpassword,StringserviceName){ execute(domainName,hostname,username,password,serviceName,STOP_SERVICE); } publicvoidexecute(StringdomainName,Stringhostname,Stringusername,Stringpassword,StringserviceName,intaction){ try{ IJIDispatchwbemServices=createCOMServer(); finalintRETURN_IMMEDIATE=0x10; finalintFORWARD_ONLY=0x20; Object[]params=newObject[]{ newJIString("SELECT*FROMWin32_ServiceWHEREName=""+serviceName+"""), JIVariant.OPTIONAL_PARAM(), newJIVariant(newInteger(RETURN_IMMEDIATE+FORWARD_ONLY)) }; JIVariant[]servicesSet=wbemServices.callMethodA("ExecQuery",params); IJIDispatchwbemObjectSet=(IJIDispatch)narrowObject(servicesSet[0].getObjectAsComObject()); JIVariantnewEnumvariant=wbemObjectSet.get("_NewEnum"); IJIComObjectenumComObject=newEnumvariant.getObjectAsComObject(); IJIEnumVariantenumVariant=(IJIEnumVariant)narrowObject(enumComObject.queryInterface(IJIEnumVariant.IID)); Object[]elements=enumVariant.next(1); JIArrayaJIArray=(JIArray)elements[0]; JIVariant[]array=(JIVariant[])aJIArray.getArrayInstance(); for(JIVariantvariant:array){ IJIDispatchwbemObjectDispatch=(IJIDispatch)narrowObject(variant.getObjectAsComObject()); //Printobjectastext. JIVariant[]v=wbemObjectDispatch.callMethodA("GetObjectText_",newObject[]{1});

java里有没有函数可以把整数123转换成字符串00123或123.00?

有那个位移好像可以,函数名不记得了

JAVA中日期格式转换:2012-07-10 00:00:00.000如何转换成2012年07月10日

Java时间格式转换大全import java.text.*;import java.util.Calendar;public class VeDate {/*** 获取现在时间** @return 返回时间类型 yyyy-MM-dd HH:mm:ss*/public static Date getNowDate() {Date currentTime = new Date();SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String dateString = formatter.format(currentTime);ParsePosition pos = new ParsePosition(8);Date currentTime_2 = formatter.parse(dateString, pos);return currentTime_2;}Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

java中string.format("%1$4d",year),是什么意思

String类 方法详细信息 format public static String format(String format, Object... args)使用指定的格式字符串和参数返回一个格式化字符串。 始终使用 Locale.getDefault() 返回的语言环境。 参数: format - 格式字符串 args - 格式字符串中由格式说明符引用的参数。如果还有格式说明符以外的参数,则忽略这些额外的参数。参数的数目是可变的,可以为 0。参数的最大数目受 Java Virtual Machine Specification 所定义的 Java 数组最大维度的限制。有关 null 参数的行为依赖于转换。 返回: 一个格式化字符串 抛出: IllegalFormatException - 如果格式字符串中包含非法语法、与给定的参数不兼容的格式说明符,格式字符串给定的参数不够,或者存在其他非法条件。有关所有可能的格式化错误的规范,请参阅 formatter 类规范的详细信息 一节。 NullPointerException - 如果 format 为 null 从以下版本开始: 1.5 另请参见: Formatter format public static String format(Locale l, String format, Object... args)使用指定的语言环境、格式字符串和参数返回一个格式化字符串。 参数: l - 格式化过程中要应用的语言环境。如果 l 为 null,则不进行本地化。 format - 格式字符串 args - 格式字符串中由格式说明符引用的参数。如果还有格式说明符以外的参数,则忽略这些额外的参数。参数的数目是可变的,可以为 0。参数的最大数目受 Java Virtual Machine Specification 所定义的 Java 数组最大维度的限制。有关 null 参数的行为依赖于转换。 返回: 一个格式化字符串 抛出: IllegalFormatException - 如果格式字符串中包含非法语法、与给定参数不兼容的格式说明符,格式字符串给定的参数不够,或存在其他非法条件。有关所有可能的格式化错误的规范,请参阅 formatter 类规范的详细信息 一节。 NullPointerException - 如果 format 为 null 从以下版本开始: 1.5 另请参见: Formatter

Java 使用Formatter类格式化输出日期时间

SimpleDateFormatdateFormater=newSimpleDateFormat("yyyy-MM-dd");Datedate=newDate();System.out.print(dateFormater.format(date));

java formatter format方法出来的数据不对齐?

public void printTotal() { f.format("%-15s %5s %8.2f ", "Tax", "", total*0.06); f.format("%-15s %5s %8s ", "", " ", "-----"); f.format("%-15s %5s %8.2f ", "Total", "", total*1.06);}public static void main(String[] args) { Test t = new Test(); t.printTitle(); t.print("xigua", 5, 10); t.print("bi", 2, 1.50); t.print("kuangquanshui", 6, 1); t.printTotal();}最后两个方法改一下。这个问题是由于中文的问题,formatter不认识中文,无法处理中文的情况。会忽略中文,貌似如果要中文对齐需要自己想办法的。

java formatter是什么,有什么作用,怎么用?

Formatter是格式化定义类,类似于C语言的printf语句。可灵活控制字符串等的输出样式。直接看api doc就明白了。http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html。例:在数字前加入正负号,然后转成字符串String b = String.format("%+f", -3);System.out.println("[y=2*x" + b + "]");

运行第一个java3d程序时出现这样的提示,应该怎样更正?

看提示就是缺包,或者导包倒错了“j3dcore-ogl”

tomcat是什么,怎么理解,跟java的关系

可以运行jsp

tomcat 是不是java 框架

tomcat是java的web服务器,和iis一样的、

tomcat是什么软件 和JAVA有什么关系呢?

tomcat是服务器,当你有java编写了网站代码后,要放到tomcat中才能运行测试

tomcat是什么软件 和JAVA有什么关系呢?

tomcat是服务器,是一种比较简单的中间件,用来把java web开发部署到tomcat中,此时tomcat是作为服务器的。java的可移植性设计让java依赖class文件运行的。jdk就是java运行的环境,使用它能编译.java文件,运行java程序。tomcat可以比作web容器,java应用发布在它上面然后通过它与浏览器进行交互,一种程序与浏览器适配的容器。扩展资料:Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。参考资料来源:百度百科-tomcat

JAVA统计一篇文章中所有单词出现的次数,并按字典序将单词及频数输出到文件中

写过

java中的Member [] mem是什么意思

Member 是一个对象Member [] mem 定义这个对象的数组与 String [] s;意思一样啊

java如何实现http长连接

目前web上的消息通讯方式主要有以下几种。 轮询,长连接,websocket 轮询:隔一段时间访问服务器,服务器不管有没有新消息都立刻返回。 长连接:页面向服务器发出请求,由服务器决定什么时候返回。(如果有新消息则立刻返回,没有的话就保持连接,直到有新消息才返回) websocket:类似Java Socket,由Http请求模拟实现的socket。要实现长连接的关键就是: 由服务器端决定什么时候返回数据。比如在servlet中。doGet(...){...Thread.sleep(30000);return ...}这就是一个长连接的例子,只是没有任何意义而已。你要做的就是在doGet中阻塞住,while(!hasNewMsg){ sleep(500)}return newMsg...当然你的ajax超时时间要设置长一点。如果可以的话,最好可以使用websocket。

Java如何设置Socket的KeepAlive时间长短吗

不同的系统不一样的,windows一般是通过改注册表来改变keepalivetime的值。linux或unix下这个值也是基于整个内核的,它的改变会影响本机所有设置了这个选项的socket。

java编写一个成绩统计程序

office表格不是就可以直接用了??

用idea编写java代码时突然出现的问题求大佬指点

联网 重构一下,试试可不可以

我学了CSS、javascript、HTML、jQuery,现在想要做一个简单的网页,求帮助?

首先 你做一个登录界面是不 帐号密码是不是得到后台去验证呢(后台就是处理你登录界面传过去的值的程序) 那么说到后台了 你得会 asp 或者php或者java等等动态网页语言是不 或者说 你不需要验证 那么就用一个from 把action设置成你要跳转的页面就成 然后 你说要显示微博的api接口 就拿新浪微博的接口来说吧 新浪微博的接口 复杂的需要去获取App Key 简单的就是插入一个iframe 代码是 <iframe width="100%" height="500" frameborder="0" scrolling="no" src="http://widget.weibo.com/livestream/listlive.php?language=zh_cn&width=0&height=500&uid=2118420967&skin=1&refer=1&appkey=&pic=0&titlebar=1&border=1&publish=1&atalk=1&recomm=0&at=0&dpc=1"></iframe>具体的功能你得到开放平台去看下 http://open.weibo.com/livestreamset.php注意的 这个还真没什么注意的 只要你自己写的自己认得出来就行 出bug就慢慢调试

rxjava zip和merge的区别

ReactiveX的每种编程语言的实现都实现了一组操作符的集合。不同的实现之间有很多重叠的部分,也有一些操作符只存在特定的实现中。每种实现都倾向于用那种编程语言中他们熟悉的上下文中相似的方法给这些操作符命名。本文首先会给出ReactiveX的核心操作符列表和对应的文档链接,后面还有一个决策树用于帮助你根据具体的场景选择合适的操作符。最后有一个语言特定实现的按字母排序的操作符列表。如果你想实现你自己的操作符,可以参考这里:实现自定义操作符创建操作用于创建Observable的操作符Create — 通过调用观察者的方法从头创建一个ObservableDefer — 在观察者订阅之前不创建这个Observable,为每一个观察者创建一个新的ObservableEmpty/Never/Throw — 创建行为受限的特殊ObservableFrom — 将其它的对象或数据结构转换为ObservableInterval — 创建一个定时发射整数序列的ObservableJust — 将对象或者对象集合转换为一个会发射这些对象的ObservableRange — 创建发射指定范围的整数序列的ObservableRepeat — 创建重复发射特定的数据或数据序列的ObservableStart — 创建发射一个函数的返回值的ObservableTimer — 创建在一个指定的延迟之后发射单个数据的Observable变换操作这些操作符可用于对Observable发射的数据进行变换,详细解释可以看每个操作符的文档Buffer — 缓存,可以简单的理解为缓存,它定期从Observable收集数据到一个集合,然后把这些数据集合打包发射,而不是一次发射一个FlatMap — 扁平映射,将Observable发射的数据变换为Observables集合,然后将这些Observable发射的数据平坦化的放进一个单独的Observable,可以认为是一个将嵌套的数据结构展开的过程。GroupBy — 分组,将原来的Observable分拆为Observable集合,将原始Observable发射的数据按Key分组,每一个Observable发射一组不同的数据Map — 映射,通过对序列的每一项都应用一个函数变换Observable发射的数据,实质是对序列中的每一项执行一个函数,函数的参数就是这个数据项Scan — 扫描,对Observable发射的每一项数据应用一个函数,然后按顺序依次发射这些值Window — 窗口,定期将来自Observable的数据分拆成一些Observable窗口,然后发射这些窗口,而不是每次发射一项。类似于Buffer,但Buffer发射的是数据,Window发射的是Observable,每一个Observable发射原始Observable的数据的一个子集过滤操作这些操作符用于从Observable发射的数据中进行选择Debounce — 只有在空闲了一段时间后才发射数据,通俗的说,就是如果一段时间没有操作,就执行一次操作Distinct — 去重,过滤掉重复数据项ElementAt — 取值,取特定位置的数据项Filter — 过滤,过滤掉没有通过谓词测试的数据项,只发射通过测试的First — 首项,只发射满足条件的第一条数据IgnoreElements — 忽略所有的数据,只保留终止通知(onError或onCompleted)Last — 末项,只发射最后一条数据Sample — 取样,定期发射最新的数据,等于是数据抽样,有的实现里叫ThrottleFirstSkip — 跳过前面的若干项数据SkipLast — 跳过后面的若干项数据Take — 只保留前面的若干项数据TakeLast — 只保留后面的若干项数据组合操作组合操作符用于将多个Observable组合成一个单一的ObservableAnd/Then/When — 通过模式(And条件)和计划(Then次序)组合两个或多个Observable发射的数据集CombineLatest — 当两个Observables中的任何一个发射了一个数据时,通过一个指定的函数组合每个Observable发射的最新数据(一共两个数据),然后发射这个函数的结果Join — 无论何时,如果一个Observable发射了一个数据项,只要在另一个Observable发射的数据项定义的时间窗口内,就将两个Observable发射的数据合并发射Merge — 将两个Observable发射的数据组合并成一个StartWith — 在发射原来的Observable的数据序列之前,先发射一个指定的数据序列或数据项Switch — 将一个发射Observable序列的Observable转换为这样一个Observable:它逐个发射那些Observable最近发射的数据Zip — 打包,使用一个指定的函数将多个Observable发射的数据组合在一起,然后将这个函数的结果作为单项数据发射错误处理这些操作符用于从错误通知中恢复Catch — 捕获,继续序列操作,将错误替换为正常的数据,从onError通知中恢复Retry — 重试,如果Observable发射了一个错误通知,重新订阅它,期待它正常终止辅助操作一组用于处理Observable的操作符Delay — 延迟一段时间发射结果数据Do — 注册一个动作占用一些Observable的生命周期事件,相当于Mock某个操作Materialize/Dematerialize — 将发射的数据和通知都当做数据发射,或者反过来ObserveOn — 指定观察者观察Observable的调度程序(工作线程)Serialize — 强制Observable按次序发射数据并且功能是有效的Subscribe — 收到Observable发射的数据和通知后执行的操作SubscribeOn — 指定Observable应该在哪个调度程序上执行TimeInterval — 将一个Observable转换为发射两个数据之间所耗费时间的ObservableTimeout — 添加超时机制,如果过了指定的一段时间没有发射数据,就发射一个错误通知Timestamp — 给Observable发射的每个数据项添加一个时间戳Using — 创建一个只在Observable的生命周期内存在的一次性资源条件和布尔操作这些操作符可用于单个或多个数据项,也可用于ObservableAll — 判断Observable发射的所有的数据项是否都满足某个条件Amb — 给定多个Observable,只让第一个发射数据的Observable发射全部数据Contains — 判断Observable是否会发射一个指定的数据项DefaultIfEmpty — 发射来自原始Observable的数据,如果原始Observable没有发射数据,就发射一个默认数据SequenceEqual — 判断两个Observable是否按相同的数据序列SkipUntil — 丢弃原始Observable发射的数据,直到第二个Observable发射了一个数据,然后发射原始Observable的剩余数据SkipWhile — 丢弃原始Observable发射的数据,直到一个特定的条件为假,然后发射原始Observable剩余的数据TakeUntil — 发射来自原始Observable的数据,直到第二个Observable发射了一个数据或一个通知TakeWhile — 发射原始Observable的数据,直到一个特定的条件为真,然后跳过剩余的数据算术和聚合操作这些操作符可用于整个数据序列Average — 计算Observable发射的数据序列的平均值,然后发射这个结果Concat — 不交错的连接多个Observable的数据Count — 计算Observable发射的数据个数,然后发射这个结果Max — 计算并发射数据序列的最大值Min — 计算并发射数据序列的最小值Reduce — 按顺序对数据序列的每一个应用某个函数,然后返回这个值Sum — 计算并发射数据序列的和连接操作一些有精确可控的订阅行为的特殊ObservableConnect — 指示一个可连接的Observable开始发射数据给订阅者Publish — 将一个普通的Observable转换为可连接的RefCount — 使一个可连接的Observable表现得像一个普通的ObservableReplay — 确保所有的观察者收到同样的数据序列,即使他们在Observable开始发射数据之后才订阅转换操作To — 将Observable转换为其它的对象或数据结构Blocking 阻塞Observable的操作符操作符决策树几种主要的需求直接创建一个Observable(创建操作)组合多个Observable(组合操作)对Observable发射的数据执行变换操作(变换操作)从Observable发射的数据中取特定的值(过滤操作)转发Observable的部分值(条件/布尔/过滤操作)对Observable发射的数据序列求值(算术/聚合操作)

java配置连接池时不能得到一个DataSource实例,高手请进!

这,,,

vscode中怎么度量java工程

1、安装Java扩展:在VisualStudioCode中打开“扩展”视图(通过菜单栏的“查看”>“扩展”或快捷键Ctrl+Shift+X),搜索“Java”,选择“JavaExtensionPack”并安装它。2、安装代码度量工具:在VisualStudioCode中打开“扩展”视图,搜索“CodeMetrics”并安装它。3、打开Java项目:在VisualStudioCode中打开Java项目的根目录。4、运行代码度量工具:在VisualStudioCode中按下快捷键Ctrl+Shift+P,输入“CodeMetrics”并选择“CodeMetrics:GenerateMetrics”。这将打开一个新的终端窗口并运行代码度量工具。5、查看度量结果:代码度量工具会生成度量报告,其中包括诸如代码行数、类数、方法数、圈复杂度等指标。您可以在终端窗口中查看报告,也可以将报告保存为文件并在浏览器中打开。要保存报告,请按照代码度量工具在终端窗口中给出的提示。

JAVA中怎么获取一个字符串占的像素有什么方法

字符串占的字节?像素?

如何在用eclipse运行Java时输入command line argument?

可以用jdk的java在黑窗口里运行(不通过eclipse)。或者可以在你的程序main开头加一句:args = JOptionPane.showInputDialog("Arguments").split(" ");升级到eclipse ganymede(3.4)点运行就会运行当前显示的main了。

联想笔记本WIN10系统 安装SPSS时总显示无法创建JAVA虚拟器 怎么办??

你把spss 的那个lservrc 文件和软件放在同一个文件夹,重进再看看。

gpt4可以修改javascript吗

可以。gpt4是人工智能技术驱动的自然语言处理工具,该工具可以修改javascript,能够根据用户的需求生成相应的前端代码,包括HTML、CSS和JavaScript等。用户只需简单描述需求,GPT-4即可生成符合要求的代码。
 首页 上一页  43 44 45 46 47 48 49 50 51 52 53  下一页  尾页