2014-12-09 2 views
0

메신저 Stringbuilder로 문자열을 작성합니다. 결국이 문자열을 이메일로 보내려고하지만, 문자가 ~ 1500 자 뒤에 항상 잘린 것처럼 보입니다.StringBuilder ~ 1500 이후에 문자가 자르다

List<Itprojekte> items = tableModel.getAllElements(); 
    StringBuilder body = new StringBuilder(items.size() * 80); 
    SimpleDateFormat df = new SimpleDateFormat("dd.MM.yyyy HH:mm"); 

     for (Itprojekte project : items) { 
      body.append("Time:\n").append(df.format(project.getTime())).append("\n\n"); 
      body.append(lineSeparator); 
      body.append("Name:\n").append(project.getName()).append("\n\n"); 
      body.append(lineSeparator); 
      body.append("Place:\n").append(project.getTown()).append("\n\n"); 
      body.append(lineSeparator); 
      body.append("Description:\n").append(project.getDescription()).append("\n\n"); 
      body.append(lineSeparator); 
      body.append("Link:\n").append(project.getUrl().trim()); 
      body.append(lineSeparator); 
      body.append(lineSeparator); 
     } 



     try { 
     mailto("Test", body.toString()); 
    } catch (IOException ex) { 
     Logger.getLogger(ProjectsResultjForm.class.getName()).log(Level.SEVERE, null, ex); 
    } catch (URISyntaxException ex) { 
     Logger.getLogger(ProjectsResultjForm.class.getName()).log(Level.SEVERE, null, ex); 
    } 

흔한 :

public static void mailto(String subject, 
     String body) throws IOException, URISyntaxException { 
    String uriStr = String.format("mailto:?subject=%s&body=%s", 
      urlEncode(subject), 
      urlEncode(body)); 
    Desktop.getDesktop().browse(new URI(uriStr)); 
} 
+0

나는 C#을 사용하고 있습니까? 프로그래밍 언어 용 태그를 추가하십시오. – Jerodev

+0

나에게 자바처럼 보입니다. – aioobe

+0

이상적으로 이상적은 아니지만, 용량 속성 – Codeek

답변

0

여기까지 괜찮습니다. 먼저 리소스를 줄여서 StringBuilder의 초기 용량으로 작업 속도를 높일 수 있습니다.

StringBuilder subject = new StringBuilder(items.size() * 80); 

    for (Itprojekte project : items) { 
     ... 
    } 
    if (subject.length() < 1500) { 
     Logger.getLogger(ProjectsResultjForm.class.getName()).log(Level.WARN, 
       "*** Mail body: {0}", subject); 
    } 

오류는 흔한 URL에 : URL은 크기가 1600 정도 제한됩니다.

+0

동일한 문제가 발생하여 문자열이 잘리는 경우 ... 내 이메일에 문자열이 표시됩니다. 클라이언트, 괜찮아요,하지만 첫 번째 ~ 1500 문자, 나머지는 잘린 ... "제목"여기 시체입니다! –

+0

String으로 변환하여 살펴 보았습니다. String은 괜찮습니다. 모든 정보가 있습니다. 문제는 전자 메일 클라이언트에게 문제가 될 것 같습니다 .- –

+0

이제 mailto URL이 생성되는 것을 보았습니다. 그것은 제한적입니다. 'Desktop.mail (URI)'도 아마 실패 할 것이다. –

0

당신이주의해야 할 유일한 것은 가능한 힙 공간입니다.