RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> > > В иннотековском коде есть реализация этих классов. И они были проверены. Скажи точно что происходит при запуске Idea > Кстати только что запустил из книги Думай на Яве и оно упало. щас проверяю тоже самое в виндах. > Блин долго работает в виндах(vpc) - о результатах позже сообщу. > Еще раз я напоминаю что я новичек в jave. > > E:\test2>D:\java142\bin\java.exe MappedIO > Stream Write: 1490 > Mapped Write: 1290 > Stream Read: 5440 > Mapped Read: 90 > Stream Read/Write: 49490 > Mapped Read/Write: Exception in thread "main" java.lang.RuntimeException: java.i > o.IOException: No such file or directory > at MappedIO$Tester.runTest(MappedIO.java:19) > at MappedIO.main(MappedIO.java:98) > Caused by: java.io.IOException: No such file or directory > at sun.nio.ch.FileChannelImpl.map0(Native Method) > at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:705) > at MappedIO$6.test(MappedIO.java:86) > at MappedIO$Tester.runTest(MappedIO.java:15) > ... 1 more > > > > import java.io.*; > import java.nio.*; > import java.nio.channels.*; > > public class MappedIO { > private static int numOfInts = 4000000; > private static int numOfUbuffInts = 200000; > private abstract static class Tester { > private String name; > public Tester(String name) { this.name = name; } > public long runTest() { > System.out.print(name + ": "); > try { > long startTime = System.currentTimeMillis(); > test(); > long endTime = System.currentTimeMillis(); > return (endTime - startTime); > } catch (IOException e) { > throw new RuntimeException(e); > } > } > public abstract void test() throws IOException; > } > private static Tester[] tests = { > new Tester("Stream Write") { > public void test() throws IOException { > DataOutputStream dos = new DataOutputStream( > new BufferedOutputStream( > new FileOutputStream(new File("temp.tmp")))); > for(int i = 0; i < numOfInts; i++) > dos.writeInt(i); > dos.close(); > } > }, > new Tester("Mapped Write") { > public void test() throws IOException { > FileChannel fc = > new RandomAccessFile("temp.tmp", "rw") > .getChannel(); > IntBuffer ib = fc.map( > FileChannel.MapMode.READ_WRITE, 0, fc.size()) > .asIntBuffer(); > for(int i = 0; i < numOfInts; i++) > ib.put(i); > fc.close(); > } > }, > new Tester("Stream Read") { > public void test() throws IOException { > DataInputStream dis = new DataInputStream( > new BufferedInputStream( > new FileInputStream("temp.tmp"))); > for(int i = 0; i < numOfInts; i++) > dis.readInt(); > dis.close(); > } > }, > new Tester("Mapped Read") { > public void test() throws IOException { > FileChannel fc = new FileInputStream( > new File("temp.tmp")).getChannel(); > IntBuffer ib = fc.map( > FileChannel.MapMode.READ_ONLY, 0, fc.size()) > .asIntBuffer(); > while(ib.hasRemaining()) > ib.get(); > fc.close(); > } > }, > new Tester("Stream Read/Write") { > public void test() throws IOException { > RandomAccessFile raf = new RandomAccessFile( > new File("temp.tmp"), "rw"); > raf.writeInt(1); > for(int i = 0; i < numOfUbuffInts; i++) { > raf.seek(raf.length() - 4); > raf.writeInt(raf.readInt()); > } > raf.close(); > } > }, > new Tester("Mapped Read/Write") { > public void test() throws IOException { > FileChannel fc = new RandomAccessFile( > new File("temp.tmp"), "rw").getChannel(); > IntBuffer ib = fc.map( > FileChannel.MapMode.READ_WRITE, 0, fc.size()) > .asIntBuffer(); > ib.put(0); > for(int i = 1; i < numOfUbuffInts; i++) > ib.put(ib.get(i - 1)); > fc.close(); > } > } > }; > public static void main(String[] args) { > for(int i = 0; i < tests.length; i++) > System.out.println(tests[i].runTest()); > } > }
_, __, _, __,
/_\ |_) /_\ |_)
| | | | | | \
~ ~ ~ ~ ~ ~ ~
Programmed by
Dmitri Maximovich
,
Dmitry I. Platonoff
,
Eugen Kuleshov
.
25.09.99 (c) 1999,
RU/2
. All rights reserved.
Rewritten by
Dmitry Ban
. All rights ignored.