我需要使用java来查看邮件。从这些邮件中,我想知道附件的名称(如果有的话)并且我想知道消息。
是否可以不仅打印附件名称,还可以打印邮件内容?目前我正在使用以下代码,这些代码仅获取附件名称或(如果没有)消息内容。
Message[] message = folder.getMessages();
//Display message.
for (int i = 0; i < message.length; i++) {
System.out.println("------------ Message " + (i + 1) + " ------------");
System.out.println("SentDate : " + message[i].getSentDate());
System.out.println("From : " + message[i].getFrom()[0]);
System.out.println("Subject : " + message[i].getSubject());
Multipart multipart = (Multipart) message[i].getContent();
for (int x = 0; x < multipart.getCount(); x++) {
BodyPart bodyPart = multipart.getBodyPart(x);
String disposition = bodyPart.getDisposition();
if (disposition != null && (disposition.equals(BodyPart.ATTACHMENT))) {
DataHandler handler = bodyPart.getDataHandler();
System.out.println("Attachment : " …Run Code Online (Sandbox Code Playgroud) 使用测试时maven,我想在屏幕上看到输出.
把后log4j.xml到我的项目的目录中(src /测试/资源/ cfg /中),我更新了pom包括
235 <plugin>
236 <groupId>org.apache.maven.plugins</groupId>
237 <artifactId>maven-surefire-plugin</artifactId>
238 <configuration>
239 <skipTests>false</skipTests>
240 <excludes>
241 <exclude>**/*$*.java</exclude>
242 </excludes>
243 <systemProperties>
244 <property>
245 <name>-Dlog4j.configuration</name>
246 <value>file:src/test/resources/cfg/log4j.xml</value>
247 </property>
248 </systemProperties>
249 <additionalClasspathElements>
250 <additionalClasspathElement>src/test/resources/cfg/</additionalClasspathElement>
251 </additionalClasspathElements>
252 </configuration>
253 </plugin>
Run Code Online (Sandbox Code Playgroud)
以上不起作用.测试运行时,我仍然看到以下消息
log4j:WARN Please initialize the log4j system properly.
Run Code Online (Sandbox Code Playgroud)
对于记录,以下是log4j
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
3
4 <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
5 <appender name="console" class="org.apache.log4j.ConsoleAppender">
6 <param name="Target" value="System.out"/> …Run Code Online (Sandbox Code Playgroud) 为什么以下java代码导致无限循环?
import java.util.LinkedList;
import java.util.Random;
public class Main {
public static void main(String[] args) {
int n = 3;
Random rand = new Random();
LinkedList<Integer> fields = new LinkedList<Integer>();
for (int i = 0; i < n*n; i++) {
fields.add(i);
}
while (fields.size() > 0) {
// Choose Field
int f = rand.nextInt(fields.size());
fields.remove((Integer) f);
System.out.println(fields.size());
}
}
}
Run Code Online (Sandbox Code Playgroud) Hazelcast的当前版本是3.4,我看到下载页面的lib文件夹中有两个罐子http://hazelcast.org/download/
这些罐子之间的差异是什么?我应该选择哪个,为什么?
在Spring Data JPA的"入门"示例中,我们创建了一个扩展CrudRepository的接口.但是它只处理一个实体:
import org.springframework.data.repository.CrudRepository;
interface MyEntityRepository extends CrudRepository<MyEntity, Long> {
// methods...
}
Run Code Online (Sandbox Code Playgroud)
在实际应用程序中,有许多实体(表),我们需要为它们执行CRUD操作.使用具有多个(相关或不相关)实体的Spring Data JPA存储库的正确方法是什么?
我是否必须为每个实体创建接口并逐个自动装配它们(这听起来非常疯狂)?
我正在查看父亲的VBA工作中的一些代码.他不是专业人士,也不是我.有一个问题,我们无法弄清楚.为了弄清楚,我需要了解ListView的Viewpropoerty.该View属性已分配lvwReport,我正在谷歌检查,但没有定义或我无法找到它.我很惊讶,因为在任何Microsoft资源上都没有提到它.
有没有人/任何资源可以告诉我这究竟是什么?
这是代码,据我所知,没有任何其他变量名为lvwReport:
Private Sub UserForm_Initialize()
ListView1.View = lvwReport
ListView1.Gridlines = True
ListView1.FullRowSelect = True
ListView1.ListItems.Clear
ListView1.ColumnHeaders.Clear
With ListView1.ColumnHeaders
.Add , , "MY COLUMN 1", 35
.Add , , "MY COLUMN 2", 30
.Add , , "MY COLUMN 3", 35
End With
For a = 2 To Cells(65000, 1).End(xlUp).Row
ListView1.ListItems.Add , , Cells(a, "A").Value
y = ListView1.ListItems.Count
ListView1.ListItems(y).ListSubItems.Add , , Cells(a, "B").Value
ListView1.ListItems(y).ListSubItems.Add , , Cells(a, "C").Value
ListView1.ListItems(y).ListSubItems.Add , , Cells(a, "D").Value …Run Code Online (Sandbox Code Playgroud) 我在我的Java项目上使用Hibernate,我有Oracle DB.一个ID列,我确定了一个增量为1的序列.但这就是JPA/Hibernate从序列中获取nextVal的方式:
1 1451
2 1450
3 1402
4 1401
5 1400
6 1352
7 1351
8 1350
9 426
Run Code Online (Sandbox Code Playgroud)
您可以看到nextVal有时会得到1,但大多数是50或更多.我甚至看到序列200的开始,即使我把起始值1.为什么会发生这种情况?这是正常的吗?
我可以以某种方式减少这个"50"增量吗?
我正在编写一个 mixin 来将字符串反序列化为 javax.servlet.http.Cookie
Mixin.java
套餐一;
导入 org.codehaus.jackson.annotate.JsonProperty;
公共抽象类 MixIn {
MixIn(@JsonProperty("name") 字符串名称,@JsonProperty("value") 字符串值) { }
}
HelloWorld.java
包 b;
导入一个.MixIn;
ObjectMapper mapper = new ObjectMapper();
mapper.getDeserializationConfig().addMixInAnnotations(Cookie.class, MixIn.class);
Cookie aCookie = mapper.readValue("{"name":"abc","value":"xyz"}", Cookie.class);
它似乎提供了“JsonMappingException:找不到适合类型 [简单类型,类 javax.servlet.http.Cookie] 的构造函数”错误。
请注意
- Mixin 是(必须)定义为一个单独的类(不是内部类,不是静态的)
- Mixin 及其使用的类(必须)在 2 个不同的包中。
我正在使用杰克逊 1.9.9
我对 Postgresql 很陌生。我已经在我的 Mac OS X 上安装了 pgadmin4。我尝试创建一个非常基本的表,其中包含一个具有类型的列,varchar但在 UI 列表中似乎没有 ti。
我错过了什么吗?
我是Hazelcast的新手,我正在尝试在两台不同的计算机(和IP)上开发一个带有两个实例的项目.假设这两个是IP:10.200.1.1和10.200.2.2.这两个项目都适用于Eclipse Mars/Tomcat 7
这是我的配置:
Config cfg = new Config();
NetworkConfig network = cfg.getNetworkConfig();
JoinConfig join = network.getJoin();
join.getMulticastConfig().setEnabled(false);
join.getTcpIpConfig().addMember("10.200.1.1")
.addMember("10.200.2.2").setEnabled(true);
network.getInterfaces().setEnabled(true)
.addInterface("10.200.2.2").addInterface("10.200.1.1");
HazelcastInstance instance = Hazelcast.newHazelcastInstance();
Run Code Online (Sandbox Code Playgroud)
我单独看到这个日志,并确认这两个实例正在运行:
?ub 12, 2015 9:26:01 AM com.hazelcast.config.XmlConfigLocator
INFO: Loading 'hazelcast-default.xml' from classpath.
?ub 12, 2015 9:26:01 AM com.hazelcast.instance.DefaultAddressPicker
INFO: [LOCAL] [dev] [3.4] Prefer IPv4 stack is true.
?ub 12, 2015 9:26:02 AM com.hazelcast.instance.DefaultAddressPicker
INFO: [LOCAL] [dev] [3.4] Picked Address[192.168.56.1]:5701, using socket ServerSocket[addr=/0:0:0:0:0:0:0:0,localport=5701], bind any local is true
?ub 12, 2015 9:26:02 AM com.hazelcast.spi.OperationService
INFO: …Run Code Online (Sandbox Code Playgroud) 我有一个测试文件,根据它,我需要构建我的程序,测试文件在下面.但是,我对s1.showDetails(System.out)感到困惑; 我从来没有遇到参数System.out任何人都可以帮助.怎么办呢??? 当我尝试编写showDetails()时,编译器会写错误.我的学生代码在此之下谢谢你提前!
import java.util.*;
public class Q2 {
public static void main(String [] args)
{
// Start on section A
System.out.println("Question 2");
System.out.println("Start on part A");
Student s1 = new Student("John", "Smith", 42);
s1.showDetails(System.out);
Course cs = new Course("Computer science");
}
}
public class Student {
private String name;
private String familyName;
private int moduleMark;
private int total;
protected Student(String name, String familyName, int moduleMark)
{
this.name = name;
this.familyName = familyName;
this.moduleMark = moduleMark;
}
public String getName() …Run Code Online (Sandbox Code Playgroud)