Tag: java

Java套接字/序列化,对象不会更新

我正在写一个基于socket的程序。 我正在使用类ModelEvent通过套接字传递信息。 在ModelEvent里面,有一个types为(Object)的variablesobect。 对象本身是一个具有一些值的二维数组。 object[1][2] = 2; ModelEvent event = new ModelEvent("allo", object); dispatchEvent(event); object[2][3] = 2; ModelEvent event2 = new ModelEvent("you", object); dispatchEvent(event2); 假设数组对象填充了值1.第一个事件(事件)由客户端接收,并且数据是正确的。 通过数据发送的第二个事件是不正确的。 其数据与第一次调度相同。 “allo”和“you”是看我是不是两次阅读同一个事件,答案不是。 该string是正确的,但该对象不是,如果它已被更新的事件。 我发送第二个事件之前遍历数组,看看它是否在服务器端更新,它是。 但在客户端,即使事件本身发生变化,它仍然与第一次调度相同。

SimpleDateFormatparsing时忽略月份

以下代码将parsingdate定义为“Wed Jan 13 00:00:00 EST 2010”,而不是“Wed Jun 13 00:00:00 EST 2010”。 任何想法非常赞赏。 SimpleDateFormat sf = new SimpleDateFormat("yyyy-mm-dd'T'HH:mm:ss"); String str = "2010-06-13T00:00:00"; Date date = sf.parse(str); System.out.println(" Date " + date.toString());

java InetAddress.getLocalHost(); 返回127.0.0.1 …如何获得真正的IP?

我正在写一个简单的networking应用程序…我需要知道我的机器在networking上的真实IP,如192.168.1.3。 getLocalHost返回127.0.0.1(在Linux上不知道,如果它是相同的Windows)如何做到这一点?

Swing中使用的框架图标的大小

我们可以使用一个列表来初始化使用Window.setIconImages(List<? extends Image>)的窗口图标。 在JFrame通常使用的不同大小的图标是什么? 码 此代码将64个不同大小的图像(从16×16,增加2)变成列表的图标。 import java.awt.*; import java.awt.image.BufferedImage; import java.util.ArrayList; import java.util.Vector; import javax.swing.*; import javax.swing.border.EmptyBorder; public class FrameIconList { public static BufferedImage getImage(int size, Color color) { BufferedImage i = new BufferedImage( size, size, BufferedImage.TYPE_INT_RGB); Graphics2D g = i.createGraphics(); g.setColor(color); g.fillRect(0, 0, size, size); g.setColor(Color.BLACK); int off = (size>17 ? 3 : […]

Java:如何检查date是否在一定范围内?

我有一系列的开始date和结束date范围。 我想检查一下date是否在这个范围内。 Date.before()和Date.after()似乎有点尴尬的使用。 我真正需要的是这样的伪代码: boolean isWithinRange(Date testDate) { return testDate >= startDate && testDate <= endDate; } 不知道是否相关,但我从数据库中提取的date有时间戳。

以科学计数法格式化双重价值

我有一个223.45654543434双号码,我需要显示它像0.223x10e+2 。 我怎样才能在Java中做到这一点?

如何解密SHA-256encryption的string?

我有一个string,使用下面的方法进行编码,有没有办法将这个string解码回原来的价值? 谢谢。 public synchronized String encode(String password) throws NoSuchAlgorithmException, IOException { String encodedPassword = null; byte[] salt = base64ToByte(saltChars); MessageDigest digest = MessageDigest.getInstance("SHA-256"); digest.reset(); digest.update(salt); byte[] btPass = digest.digest(password.getBytes("UTF-8")); for (int i = 0; i < ITERATION_COUNT; i++) { digest.reset(); btPass = digest.digest(btPass); } encodedPassword = byteToBase64(btPass); return encodedPassword; } private byte[] base64ToByte(String str) throws […]

不能用executeQuery()发出数据操作语句

在MySQL中,我有两个表, tableA和tableB 。 我试图执行两个查询: executeQuery(query1) executeQuery(query2) 但是我得到以下错误: can not issue data manipulation statements with executeQuery(). 这是什么意思?

join两个来自Java的WAV文件?

在Java 1.6中连接两个WAV文件最简单的方法是什么? (等频率和所有,没有什么奇特的。) (这可能很简单,但是我的Google-fu在这个话题上似乎很弱。)

正则expression式在Java中没有明显的最大长度

我一直认为Java的正则expression式API(以及许多其他语言)中的隐式断言必须有一个明显的长度。 所以,STAR和PLUS量词不允许放在后面 。 优秀的在线资源regular-expressions.info似乎证实了我的一些假设: Java让事情更进一步,允许有限的重复,你仍然不能使用星号或者加号,但是你可以使用问号和大括号来指定最大参数,Java认识到有限重复可以改写为不同长度固定长度的string,不幸的是,JDK 1.4和1.5在向后看内部使用交替时会有一些错误,这些错误在JDK 1.6中得到修复[…] – http://www.regular-expressions.info/lookaround.html 只要外观内部字符的总长度小于或等于Integer.MAX_VALUE,就可以使用大括号。 所以这些正则expression式是有效的: "(?<=a{0," +(Integer.MAX_VALUE) + "})B" "(?<=Ca{0," +(Integer.MAX_VALUE-1) + "})B" "(?<=CCa{0," +(Integer.MAX_VALUE-2) + "})B" 但是这些不是: "(?<=Ca{0," +(Integer.MAX_VALUE) +"})B" "(?<=CCa{0," +(Integer.MAX_VALUE-1) +"})B" 不过,我不明白以下几点: 当我在外观内部使用*和+量词运行testing时,一切正常(请参见输出testing1和testing2 )。 但是,当我在testing1和testing2的后视图开始处添加单个字符时,它会中断(请参见输出testing3 )。 从testing3中得到的贪婪*不会产生任何影响,它仍然会中断(见testing4 )。 以下是testing工具: public class Main { private static String testFind(String regex, String input) { try { boolean returned = […]