Elettracompany.com

Компьютерный справочник
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Java nio file nosuchfileexception

Как решить проблему java.nio.file.NoSuchFileException?

У меня есть файл под названием «result.csv», из которого я хочу прочитать определенные данные и отобразить их. У меня есть этот файл в самой папке проекта eclipse. И все же я не могу прочитать файл.

OUTPUT:

Может ли кто-нибудь указать, где именно я промахнулся? и как я могу преодолеть этот или любые альтернативные методы для этого метода?

4 Ответов

Проблема в том, что ваш каталог по умолчанию при запуске приложения не является тем, что вы думаете. Попробуйте добавить следующую строку в код сразу после создания пути:

Таким образом, вы точно увидите, где он ищет файл.

Как это исправить-это ваше решение. Вы можете использовать полную спецификацию пути вместо простого имени файла, или поместить имя файла в специальный каталог «Resources» и ссылаться на него с помощью относительного пути, или переместить файл туда, где находится ваш каталог по умолчанию.

Если ваш file(«result.csv») в каталоге src, вы должны использовать «src/result.csv « вместо » result.csv».

Проблема заключается в том, что java не может найти файл » result.csv » в папке проекта. Таким образом, попробуйте использовать полный путь к файлу, например C:your_folderprojectresult.csv в переменной Path. Также я думаю, что было бы лучше использовать bufferedreader следующим образом: BufferedReader br = new BufferedReader(new FileReader(insert here the String in which is defined the path to the file)); Проверьте использование BufferedReader здесь

Если вы являетесь пользователем MacOSX, пожалуйста, введите путь к файлу вручную, а не копируйте его из «Get Info». Вы получите что-то вроде этого, если скопируете его из «Get Info»: /Users/username /Desktop /source.txt

Похожие вопросы:

Я использую инструмент инструмент для поиска утечек в моем коде. Инструмент, указывающий на утечку 100% на нижней линии. NSArray *subviews = [[подвиды ячеек] копировать]; Как решить проблему утечки.

Я работаю на веб-сайте, но у меня происходит какая-то ошибка, и я действительно не знаю точно, как ее решить. Не могли бы вы помочь мне решить эту проблему? Вот в чем проблема: Но в мобильном это.

Я не могу понять эту ошибку. Я знаю 100%, что путь правильный, потому что я проверил. Ошибка: System.IO.DirectoryNotFoundException: ‘не удалось найти часть пути’.

Когда я пытаюсь создать новый логин с Login Name как ‘DROP TABLE Test —‘ , то он упадет в Test Table . IF OBJECT_ID (‘Test’) IS NULL CREATE TABLE [dbo].[test]( [Id] [int] NOT NULL ) ON [PRIMARY] GO.

Я пытаюсь решить следующую проблему : Trailing slash — Ending slash redirects not configurate correctly. для поисковой оптимизации. как перенаправить www.some.domain.com/page/ на.

Каждая команда, которую я ввожу в Maple, также прикрепляет Typesetting:-mparsed(. ) , например: solve(x^2-2*x+1 = 0, x) -> Typesetting:-mparsed(solve(x^2-2 x+1=0,x),solve(x^2-2 x+1=0,x);.

У меня есть повторение, как это f(n)=(2*f(n-1)+2*f(n-2))%10007; Теперь для конкретного n мне нужно найти: g(n)=(f(n)f(0)+f(n-1)f(1)+. +f(0)f(n))%10007. Например, если n=3.

Ссылка на проблему- http://opc.iarcs.org.in/index.php/problems/METRO я понятия не имею, как решить эту проблему.

Я вижу в репо, отображаемом на его веб-странице: Я не могу вытащить его на свой локальный компьютер,не могу просмотреть его и т. д. Как я могу решить эту проблему?

Друзья, я получал эту ошибку при реализации google map API в моем APP. Я получал этот вопрос: Ошибка получения прогноза автозаполнения API вызов: Статус

java.nio.file.NoSuchFileException: why nio not creating file

I am using java.nio.file package and tried to create file with the following code.

This throws following Exception:

My question is why file is not created?

Thanks in anticipation

Создан 18 июн. 15 2015-06-18 07:16:32 Raakh

You should show the code *that causes the exception*. The code you’ve quoted is *before* the exception (presumably!). It’s the call to ‘newBufferedWriter’ that failed. It’s really hard to help you with code we can’t see. – T.J. Crowder 18 июн. 15 2015-06-18 07:19:03

check whether /var/Emails_log/ folder exists. – Pavan Kumar K 18 июн. 15 2015-06-18 07:19:20

@PavanKumarK: That’s what the first code block is doing. – T.J. Crowder 18 июн. 15 2015-06-18 07:19:33

Your posted code lacks the creation of ‘out’ but this is where the exception occurs. It doesn’t help trying to create the directories *after* trying to open the file. – Holger 18 июн. 15 2015-06-18 07:22:44

Raakh, Stack Overflow is a *very* active place. When you ask a question, stick around for a few minutes to reply to questions from people trying to help you. – T.J. Crowder 18 июн. 15 2015-06-18 07:40:07

Читать еще:  Math floor javascript
1 ответ

Updated Answer:

Now that you’ve shown the full code, there are two major problems:

You’re trying to open the file before ensuring that the directories leading up to it exist, and

You’re using StandardOpenOption.APPEND , but that won’t create a file; it will append to an existing file.

. along with a large number of issues around best practices relative to the number of lines of actual code.

But here’s how I would suggest you write it:

. and handle exceptions in the calling layer. Note that, again, because we’re using try-with-resources , the close is automatic (both when there’s an exception and when there isn’t).

Or if you really want to do log-and-continue:

Original Answer:

You haven’t shown the code that’s actually failing, which is a call to newBufferedWriter (this one, or this one). newBufferedWriter takes OpenOption s, the standard set of which are available from StandardOpenOption . Make sure you’ve specified StandardOpenOption.CREATE or StandardOpenOption.CREATE_NEW ,

If you use one of those flags, and the code in your question isbefore the newBufferedWriter call, barring some other problem (permissions) it should work:

Your problem is that you’re misusing the return value from ‘Path.getParent().’ You’re assuming that ‘null’ means the path doesn’t exist. What it actually means is that the *parent* doesn’t exist, e.g. the parent of ‘C:». – EJP 18 июн. 15 2015-06-18 09:22:37

@EJP: No, I’m not saying that ‘getParent’ checks if it *exists*. As I said in the comments above, the check is pointless given the code, because we know there will be a parent of that path. It seems unlikely that’s what the OP thinks it does, either, because if that’s what the OP thinks it does, the check is kind of backward, isn’t it? But I’ve flagged it up in the answer, pointing out that with ‘fileName’ as shown, it will always have a parent. – T.J. Crowder 18 июн. 15 2015-06-18 09:43:05

@Raakh: Holger was right, then: You’re trying to create the file *before* you make sure the directory it’s in exists! Change the order of your code to that in the answer, and it will resolve the problem. You’re also using ‘APPEND’, but ‘APPEND’ won’t create a new file. – T.J. Crowder 18 июн. 15 2015-06-18 10:18:35

@Holger: See above: You were right, he was trying to create the file *before* creating the directories. – T.J. Crowder 18 июн. 15 2015-06-18 10:18:55

@Raakh: I’ve updated the answer to address your updated code. – T.J. Crowder 18 июн. 15 2015-06-18 10:35:34

Thanks all from the bottom of my heart. It’s really a superior solution and fix all issues – Raakh 18 июн. 15 2015-06-18 11:00:06

Собеседование по Java — исключения (exceptions) (вопросы и ответы)

Список вопросов и ответов по теме «Исключения в Java».

К списку вопросов по всем темам

Вопросы

1. Дайте определение понятию “исключение”
2. Какова иерархия исключений.
3. Можно/нужно ли обрабатывать ошибки jvm?
4. Какие существуют способы обработки исключений?
5. О чем говорит ключевое слово throws?
6. В чем особенность блока finally? Всегда ли он исполняется?
7. Может ли не быть ни одного блока catch при отлавливании исключений?
8. Могли бы вы придумать ситуацию, когда блок finally не будет выполнен?
9. Может ли один блок catch отлавливать несколько исключений (с одной и разных веток наследований)?
10. Что вы знаете об обрабатываемых и не обрабатываемых (checked/unchecked) исключениях?
11. В чем особенность RuntimeException?
12. Как написать собственное (“пользовательское”) исключение? Какими мотивами вы будете руководствоваться при выборе типа исключения: checked/unchecked?
13. Какой оператор позволяет принудительно выбросить исключение?
14. Есть ли дополнительные условия к методу, который потенциально может выбросить исключение?
15. Может ли метод main выбросить исключение во вне и если да, то где будет происходить обработка данного исключения?
16. Если оператор return содержится и в блоке catch и в finally, какой из них “главнее”?
17. Что вы знаете о OutOfMemoryError?
18. Что вы знаете о SQLException? К какому типу checked или unchecked оно относится, почему?
19. Что такое Error? В каком случае используется Error. Приведите пример Error’а.
20. Какая конструкция используется в Java для обработки исключений?
21. Предположим, есть блок try-finally. В блоке try возникло исключение и выполнение переместилось в блок finally. В блоке finally тоже возникло исключение. Какое из двух исключений “выпадет” из блока try-finally? Что случится со вторым исключением?
22. Предположим, есть метод, который может выбросить IOException и FileNotFoundException в какой последовательности должны идти блоки catch? Сколько блоков catch будет выполнено?

Читать еще:  Enum class java

Ответы

1. Дайте определение понятию “исключение”

Исключение — это проблема(ошибка) возникающая во время выполнения программы. Исключения могут возникать во многих случаях, например:

  1. Пользователь ввел некорректные данные.
  2. Файл, к которому обращается программа, не найден.
  3. Сетевое соединение с сервером было утеряно во время передачи данных. И т.д.

Все исключения в Java являются объектами. Поэтому они могут порождаться не только автоматически при возникновении исключительной ситуации, но и создаваться самим разработчиком.

2. Какова иерархия исключений.

Исключения делятся на несколько классов, но все они имеют общего предка — класс Throwable. Его потомками являются подклассы Exception и Error.

Исключения (Exceptions) являются результатом проблем в программе, которые в принципе решаемые и предсказуемые. Например, произошло деление на ноль в целых числах.

Ошибки (Errors) представляют собой более серьёзные проблемы, которые, согласно спецификации Java, не следует пытаться обрабатывать в собственной программе, поскольку они связаны с проблемами уровня JVM. Например, исключения такого рода возникают, если закончилась память, доступная виртуальной машине. Программа дополнительную память всё равно не сможет обеспечить для JVM.

В Java все исключения делятся на два типа: контролируемые исключения (checked) и неконтролируемые исключения (unchecked), к которым относятся ошибки (Errors) и исключения времени выполнения (RuntimeExceptions, потомок класса Exception).

Контролируемые исключения представляют собой ошибки, которые можно и нужно обрабатывать в программе, к этому типу относятся все потомки класса Exception (но не RuntimeException).

3. Можно/нужно ли обрабатывать ошибки jvm?

Обрабатывать можно, но делать этого не стоит. Разработчику не предоставлены инструменты для обработки ошибок системы и виртуальной машины.

4. Какие существуют способы обработки исключений?

  1. try — данное ключевое слово используется для отметки начала блока кода, который потенциально может привести к ошибке.
  2. catch — ключевое слово для отметки начала блока кода, предназначенного для перехвата и обработки исключений.
  3. finally — ключевое слово для отметки начала блока кода, которой является дополнительным. Этот блок помещается после последнего блока ‘catch’. Управление обычно передаётся в блок ‘finally’ в любом случае.
  4. throw — служит для генерации исключений.
  5. throws — ключевое слово, которое прописывается в сигнатуре метода, и обозначающее что метод потенциально может выбросить исключение с указанным типом.

Общий вид конструкции для «поимки» исключительной ситуации выглядит следующим образом:

Java Nio Delete File Example

Posted by: Yatin in nio October 13th, 2017 0 Views

If developers are working on a Java Swing or a desktop application then it may be required that sometimes developers need to delete a file from the file system. This tutorial is to learn about handling the files using the Java Nio package and shows how to delete a file in Java using the Nio package.

1. Introduction

Java Nio was developed to allow the Java programmers implement the high-speed input-output operations without using the custom native code. Nio moves the time-taking I/O activities like filling, namely and draining buffers etc back into the operating system, thus allows the increase in the operational speed.

Java Nio consists of the following core components:

    Channel & Buffers: In the standard, I/O API, the character streams, and the byte streams are used but in Nio, developers work with the channels and buffers. In this case, the data is always written from a buffer to a channel and is read from a channel to a buffer

Fig. 1: Channel & Buffers

Fig. 2: A Thread uses a Selector to handle 3 Channel’s

Do note, Java NIO has more components and classes but the Channel , Buffer , and Selector are used as the core of the API.

1.1 Java I/O vs. NIO

  • The first main difference between the standard IO and Nio is that the standard IO is stream-oriented and the Nio is buffer-oriented. Buffer oriented operations provide flexibility in handling data and in buffer oriented Nio, the data is first to read into a buffer and then it is made available for processing. So we can move back and forth in the buffer. But in the case of streams, it is not possible
  • The second main difference is the blocking and the non-blocking IO operations. In case of streams, a thread will be blocked until it completes the IO operation. Wherein the Nio allows for the non-blocking operations. If the data is not available for the IO operations, then the thread can do something else and it doesn’t need to stay in the locked mode. With channels and selectors, a single thread can manage the multiple threads and the parallel IO operations
Читать еще:  Как посмотреть ошибки

Now, open up the Eclipse IDE and let’s see how to implement a simple delete operation with Java Nio package!

2. Java Nio Delete File Example

2.1 Tools Used

We are using Eclipse Kepler SR2, JDK 8 and Maven. Having said that, we have tested the code against JDK 1.7 and it works well.

2.2 Project Structure

Firstly, let’s review the final project structure, in case you are confused about where you should create the corresponding files or folder later!

Fig. 3: Delete File Application Project Structure

2.3 Project Creation

This section will demonstrate on how to create a Java-based Maven project with Eclipse. In Eclipse IDE, go to File -> New -> Maven Project .

Fig. 4: Create Maven Project

In the New Maven Project window, it will ask you to select project location. By default, ‘Use default workspace location’ will be selected. Select the ‘Create a simple project (skip archetype selection)’ checkbox and just click on next button to proceed.

Fig. 5: Project Details

It will ask you to ‘Enter the group and the artifact id for the project’. We will input the details as shown in the below image. The version number will be by default: 0.0.1-SNAPSHOT .

Fig. 6: Archetype Parameters

Click on Finish and the creation of a maven project is completed. If you observe, it has downloaded the maven dependencies and a pom.xml file will be created. It will have the following code:

Developers can start adding the dependencies that they want like JUnit etc. Let’s start building the application!

3. Application Building

Below are the steps involved in developing this application.

3.1 Java Class Creation

Let’s create the required Java files. Right-click on src/main/java folder, New -> Package .

Fig. 7: Java Package Creation

A new pop window will open where we will enter the package name as: com.jcg.java.nio .

Fig. 8: Java Package Name (com.jcg.java.nio)

Once the package is created in the application, we will need to create the implementation class. Right-click on the newly created package: New -> Class .

Fig. 9: Java Class Creation

A new pop window will open and enter the file name as: FileDeleteExample . The implementation class will be created inside the package: com.jcg.java.nio .

Fig. 10: Java Class (FileDeleteExample.java)

3.1.1 Implementation of Utility Class

The Files.delete() method is defined with the following signature,

Where the only input parameter is the path which is an instance of java.nio.file.Path . Files.delete() method deletes the file specified using the java.nio.file.Path instance. Since the delete() method doesn’t return anything when it is successful , hence, the method successfully deleted the file from the path passed as an argument to the method. When no instance of the file is present (i.e. the file being deleted doesn’t exist), a NoSuchFileException is thrown and if something else goes wrong, an IOException may get thrown.

Add the following code to it:

4. Run the Application

To run the Java Nio application, Right-click on the FileDeleteExample class -> Run As -> Java Application . Developers can debug the example and see what happens after every step!

Fig. 11: Run Application

5. Project Demo

In the above code, we have used the Files.delete() method to delete a sample file in the project and the code shows the status as output.

Fig. 12: Application Output

That’s all for this post. Happy Learning!!

6. Conclusion

This tutorial uses a simple example to illustrate the functionality of the Java Nio package and helps developers understand the basic configuration required to achieve the delete operation. That’s all for this tutorial and I hope this article served you whatever you were looking for.

7. Download the Eclipse Project

This was an example of Java Nio for the beginners.

Ссылка на основную публикацию
ВсеИнструменты 220 Вольт
Adblock
detector