2016-03-04 6 views
-2

Я пытаюсь создать java.util.List из существующего .txt-файла, когда список создается и заполняется с помощью java.util .String из TXT-файла, который я хотел бы распечатать на консоли, чтобы проверить, заполнен ли List. Я много пробовал, но всегда получаю ту же ошибку.Создание Java.util.List из существующего .txt-файла 'FIXED'

Макет проекта выглядит следующим образом: Module (QaA), src (WriteTest.java и testfile.txt).

testfile.txt содержит следующее:

Приговора один испытание
Предложения два испытания
Предложения три испытания
Предложения четыре испытания

в WriteTest Класса:

import java.io.IOException; 
import java.nio.file.Files; 
import java.nio.file.Path; 
import java.nio.file.Paths; 
import java.util.List; 


public class WriteTest { 
public static void main(String[] args) throws IOException { 
    Path testPath = Paths.get("src/testfile.txt"); 

    try { 
     List<String> lines = Files.readAllLines(testPath); 

     for (String line : lines) { 
      System.out.println(line); 
     } 

    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 
} 

получены следующие ошибки:

java.nio.file.NoSuchFileException: src\testfile.txt 
at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:79) 
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97) 
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102) 
at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:230) 
at java.nio.file.Files.newByteChannel(Files.java:361) 
at java.nio.file.Files.newByteChannel(Files.java:407) 
at java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:384) 
at java.nio.file.Files.newInputStream(Files.java:152) 
at java.nio.file.Files.newBufferedReader(Files.java:2784) 
at java.nio.file.Files.readAllLines(Files.java:3202) 
at java.nio.file.Files.readAllLines(Files.java:3242) 
at WriteTest.main(WriteTest.java:15) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:497) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140) 

Я нашел еще одну причину, по которой у меня было множество ошибок. Местоположение моего .txt-файла не должно быть в пределах src. Я попытался переместить его, параллельно моему модулю, и там он был обнаружен.

+3

Какую ошибку вы получили? –

+0

Опубликовать ошибку stacktrace please – pleft

+2

@HimanshuBhandari С таким кодом, вероятно, 'FileNotFoundException' –

ответ

0

Ваш код был ошибку на моем рабочем месте, я изменил readAllLines, как вы видите ниже, и добавил toAbsolutePath для пути

public static void main(String[] args) throws IOException 
{ 
    Path testPath = Paths.get("src/testfile.txt").toAbsolutePath(); 
    System.out.println("path:\t" + testPath); 
    try 
    { 
     Charset cs = Charset.defaultCharset(); 
     List<String> lines = Files.readAllLines(testPath, cs); 

     for (String line : lines) 
     { 
      System.out.println(line); 
     } 

    } 
    catch (IOException e) 
    { 
     e.printStackTrace(); 
    } 
} 
+0

Это действительно дало мне абсолютное значение. Я все еще получаю сообщение об ошибке при попытке распечатать его в консоли, но мне удалось вывести вывод из текстового файла на экран. Спасибо за помощь! – user5951209

0

Внесите изменения, как показано ниже, чтобы получить заданный путь к файлу.

Path testPath = Paths.get(System.getProperty("user.dir")+"src/testfile.txt"); 
Смежные вопросы