Я запутался с Java NIO - PullRequest
       14

Я запутался с Java NIO

0 голосов
/ 06 марта 2019

Я запутался с буферами java nio и Files.write если я могу писать с буферами и каналами в файле, зачем мне нужен класс Files.

В чем разница между этими двумя кодами.

    String newData = "New String to write to file..." + System.currentTimeMillis();

    Path path = Paths.get("C://data/nio-data2.txt");
    try {
        Files.write(path,newData.getBytes());
    } catch (IOException e) {
        e.printStackTrace();
    }

и

        try {
        RandomAccessFile aFile = new RandomAccessFile("C://data/nio-data.txt", "rw");
        FileChannel channel = aFile.getChannel();
        ByteBuffer buf = ByteBuffer.allocate(48);
        buf.clear();
        buf.put(newData.getBytes());

        buf.flip();

        while(buf.hasRemaining()) {
            channel.write(buf);
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
...