Tag: 复制

用Java复制和移动文件,解释和比较不同的方法

我实现了文件操作function,我注意到Java提供了多种复制和移动文件的技术。 您可以在下面找到代码片段,简要介绍这些方法: 方法#1: File from = new File(src.getPath()); File to = new File(dst.getPath()); from.renameTo(to); 方法#2: FileChannel inChannel = new FileInputStream(src).getChannel(); FileChannel outChannel = new FileOutputStream(dst).getChannel(); inChannel.transferTo(0, inChannel.size(), outChannel); 方法#3: InputStream in = getContentResolver().openInputStream(selectedImageUri); OutputStream out = new FileOutputStream(“/sdcard/wallpapers/” + wall); byte[] buffer = new byte[1024]; int read; while ((read = in.read(buffer)) != -1) { out.write(buffer, […]

复制数组没有指定的元素java

我正在尝试复制没有指定元素的数组。 假设我有以下数组: int[] array = {1,2,3,4,5,6,7,8,9}; int[] array2 = new int[array.length-1]; 我想要的是将数组复制到array2而不包含int“6”,因此它将包含“{1,2,3,4,5,7,8,9}” 我只想使用for循环,这是我到目前为止,但它不起作用 int[] array= { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int[] array2= new int[array.length – 1]; int remove = 6; for (int i = 0; i < array2.length; i++) { if (array[i] != remove) { array2[i] = array[i]; […]

arraylist的副本不断修改为原始值

我正在研究一个用于保存和调用屏幕状态的系统,这是我第一次搞乱这种东西,所以我不确定最好的方法是什么,但我目前存储所有的“PreviewMonitor”数组列表中的对象(大约40个左右)。 问题在于,当我创建一个名为“allPreviewMonitors”的ArrayList副本时,我最终得到一个ArrayList,其元素随着原始元素的更新而不断变化。 这几乎就像我正在使用原始的ArrayList,事实上,当我创建allPreviewMonitors的副本时,它应该是一个完全不同的ArrayList,其中包含元素的“冻结”版本及其状态。 为什么会发生这种情况? 如果需要我可以显示代码,但我不确定这里是否需要它。

通知postgres对java应用程序的更改

问题 我正在为几十万种产品建立一个postgres数据库 。 我将设置一个索引(Solr或ElasticSearch)来改善复杂搜索查询的查询时间。 现在的重点是如何让索引与数据库同步? 在过去, 我有一种应用程序定期轮询数据库以检查应该完成的更新 ,但我会有一个过时的索引状态时间 (从数据库更新到索引更新拉动)。 我更喜欢一种解决方案,其中数据库将通知我的应用程序 (Java应用程序)数据库中的某些内容已被更改,此时应用程序将决定是否需要更新索引。 为了更准确,我将构建一种生产者和消费者结构,希望副本将从postgres接收有关更改的通知,如果这与索引的数据相关,则将其存储在待执行更新的堆栈中。 消费者将使用此堆栈并构建要存储到索引中的文档。 可能的解决方案 一种解决方案是编写一种副本端点 ,其中应用程序将表现为用于复制原始数据库中的数据的postgres实例。 有人对这种方法有一些经验吗? 我对此问题有哪些其他解决方案?

避免在JMS / ActiveMQ上重复的消息

有一种方法可以抑制ActiveMQ服务器上定义的队列上的重复消息吗? 我尝试手动定义JMSMessageID(message.setJMSMessageID(“uniqueid”)),但服务器忽略此修改并传递带有内置生成的JMSMessageID的消息。 根据规范,我没有找到关于如何重复删除邮件的参考。 在HornetQ中,为了解决这个问题,我们需要在消息定义中声明HQ特定属性org.hornetq.core.message.impl.HDR_DUPLICATE_DETECTION_ID。 即: Message jmsMessage = session.createMessage(); String myUniqueID = “This is my unique id”; // Could use a UUID for this message.setStringProperty(HDR_DUPLICATE_DETECTION_ID.toString(), myUniqueID); 有人知道ActiveMQ是否有类似的解决方案?

为什么整数的自动装箱和拆箱不能与Java中的Arrays.asList一起使用?

以下是抛出compile error : int[] arrs = {1,2,4,3,5,6}; List arry = Arrays.asList(arrs); 但这有效: for (Integer i : arrs){ //do something } 自动装箱在很多情况下工作,我刚才给出了一个for-loop例子。 但它在我在Arrays.asList()中Arrays.asList()的List-view中失败。 为什么这会失败?为什么选择设计实现?

Tomcat:在数据库中存储会话

我正在寻找一种避免内存会话复制/群集的方法,并将会话存储在数据库中。 此时使用Tomcat的JDBCStore是无用的,因为它只在数据库中存储非活动会话以保存服务器内存。 有什么建议么? 非常感谢Fabian