Este ma napadlo - ja by som este teoreticky dokazal prezit, ze sa mi .txt nacitava do stringu, ale problem bude u velkych suborov, pretoze moj pokus s 2x800MB ascii subormi "foo.txt" a jeho kopiu "foo.bin" dopadol tak, ze volanie attachFile() (a alternativa s DataSource) pre "foo.bin" trva zlomok sekundy (vytvori sa len referencia na subor), ale u "foo.txt" to vyzere pamat a crashne (nacitava 800MB do stringu).
> DD. > > Diky, ale nepomohlo: > > for ( String s : new String[] { "/etc/passwd", "/tmp/passwd.txt" } ) { > FileDataSource fds = new FileDataSource(new File(s)); > DataHandler dh=new DataHandler(fds); > System.out.println(dh.getContentType()); > } > > - java.io.FileInputStream > - java.lang.String > > > Dobry den, > > > > skuste attachment pridat cez DataHandler: > > > > MimeBodyPart oBody = new MimeBodyPart(); > > FileDataSource oFds = new FileDataSource("/etc/passwd.txt"); > > oBody.setDataHandler(new DataHandler(oFds)); > > oBody.setFileName("passwd.txt"); > > > > S pozdravom > > Radovana Straube > > > > --- On Tue, 10/6/09, Dusan Zatkovsky <msk.c...@gmail.com> wrote: > > > From: Dusan Zatkovsky <msk.c...@gmail.com> > > > Subject: JavaMail - MimeBodyPart.attachFile() > > > To: "Java" <konference@java.cz> > > > Date: Tuesday, October 6, 2009, 11:57 AM > > > Ahoj. > > > > > > Ma tu niekto skusenosti s JavaMail? Konkretne sa mi jedna o > > > uvedenu metodu. > > > > > > Kod: > > > > > > MimeBodyPart part1 = new > > > MimeBodyPart(); > > > part1.attachFile( new File ( > > > "/etc/passwd"); > > > part1.setFileName("passwd"); > > > > > > MimeBodyPart part2 = new > > > MimeBodyPart(); > > > part2.attachFile( new File ( > > > "passwd.txt"); > > > part2.setFileName("/tmp/passwd.txt"); > > > > > > /etc/passwd je ako kazdy vie ascii textovy subor. > > > passwd.txt je jeho prosta > > > kopia pod inym nazvom (.txt). > > > > > > Nasleduje problem: > > > > > > > > > > > > System.out.println(part1.getContentType()); > > > > > > System.out.println(part1.getContent().getClass()); > > > > > > // text/plain, java.io.FileInputStream > > > > > > > > > > > > System.out.println(part2.getContentType()); > > > > > > System.out.println(part2.getContent().getClass()); > > > > > > // text/plain, java.lang.String !!! > > > > > > Vypada to, ze ten **** nejak heurestikuje podla mena a > > > obsahu suboru a usudi, > > > ze textovy subor je mozne ulozit do stringu. To je ale > > > presne to, co nechcem, > > > pretoze sa obavam, ze pri dekodovani smime spravy moze > > > dojst k nejakym > > > neocakavanym javom ( kodovanie a spol... ). > > > > > > Pozeral som sa aj na vysledky pomocou > > > part.writeTo(System.out), oba su zhodne: > > > > > > Content-Disposition: attachment; > > > filename=passwd > > > ... obsah suboru > > > > > > Content-Disposition: attachment; > > > filename=passwd.txt > > > ... obsah suboru > > > > > > > > > Da sa nejak MimeBodyPart donutit, aby attachFile() robil > > > skutocny attach file? > > > > > > > > > Dik. > > > > > > -- > > > Dusan > > > > > > > > > ... tykajte mi -- Dusan ... tykajte mi