Что не так с моим IOException в моем методе slurp? - PullRequest
0 голосов
/ 06 октября 2019

Я делаю метод slurp, который по сути принимает файл и возвращает его содержимое в виде строки.

Я получаю сообщения об ошибках исключения и не знаю почему. Я не знаю, выбрасываю ли я неправильное исключение, но мне нужна помощь, чтобы выяснить, почему я получаю исключение, так как мне трудно понять их. Ошибка прослеживается до строки

content = new String (Files.readAllBytes(Paths.get(file.getAbsolutePath())));

под попыткой {}.

/**
   * Investigate Files.readAllBytes as a means of reading the file.
   * Reading files can fail if the file cannot be opened.
   * Mark this method as dangerous with a throws clause:
   * public static ...(...) throws IOException {
   * @return
   * @throws IOException
   */
  public static String slurp() throws IOException
  {
    String content = "";
    File file = new File(content);

    try
    {
      content = new String (Files.readAllBytes(Paths.get(file.getAbsolutePath())));
    }
    catch (IOException e)
    {
      e.printStackTrace();
    }

    return content;
  }

Что говорят ошибки:

java.io.IOException: Is a directory
    at java.base/sun.nio.ch.FileDispatcherImpl.read0(Native Method)
    at java.base/sun.nio.ch.FileDispatcherImpl.read(FileDispatcherImpl.java:48)
    at java.base/sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:283)
    at java.base/sun.nio.ch.IOUtil.read(IOUtil.java:250)
    at java.base/sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:223)
    at java.base/sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:65)
    at java.base/sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:109)
    at java.base/sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:103)
    at java.base/java.nio.file.Files.read(Files.java:3163)
    at java.base/java.nio.file.Files.readAllBytes(Files.java:3216)
    at hw2.FileUtilities.slurp(FileUtilities.java:46)
    at hw2.FileUtilities.main(FileUtilities.java:14)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...