2015-04-28 2 views
2

Эй, ребята, я эту программу, чтобы прочитать файлне умеет читать файл после построения в Java

public static String readFileAsString(String filename){ 
    BufferedReader reader; 
    try { 
     reader = new BufferedReader(new FileReader(filename)); 
     String line; 
     StringBuilder sb = new StringBuilder(); 
     while ((line = reader.readLine()) != null){ 
      sb.append(line + "\n"); 
     } 
     reader.close(); 
     return sb.toString(); 
    } catch (FileNotFoundException ex) { 
     JOptionPane.showMessageDialog(null, "File Not Found","ERROR",JOptionPane.ERROR_MESSAGE); 
    } catch (IOException ex) { 
     Logger.getLogger(tsst.class.getName()).log(Level.SEVERE, null, ex); 
    } 
    return null; 
    } 

и это мой конструктор

public tsst() { 
    initComponents(); 
    JOptionPane.showMessageDialog(null, readFileAsString("test.txt"),"Succes",JOptionPane.DEFAULT_OPTION); 
} 

и файл в проекте приложения если я запустил файл из Netbeans, это нормальная работа, я получил то, что мне нужно, но если я создам приложение, поэтому я получил файл JAR, и я запустил его. Я получил ошибку. ФАЙЛ НЕ НАЙДЕН и то же самое в письме

public static void writeFile(String canonicalFilename, String text){ 
    File file = new File (canonicalFilename); 
    BufferedWriter out; 
     try { 
     out = new BufferedWriter(new FileWriter(file)); 
     out.write(text); 
     out.close(); 
    } catch (IOException ex) { 
     Logger.getLogger(tsst.class.getName()).log(Level.SEVERE, null, ex); 
    } 
} 
+2

Куда поехать с файлом по проекту? – MadProgrammer

+0

С NetBeans, читаемые файлы обычно должны находиться в верхней директории проекта (вместе с src/и build/и т. Д.) – MarkDacek

+0

, когда вы выполняете банку напрямую, банку и файл, который вы хотите прочитать или написать должен находиться в одном месте (в том же каталоге). Или вам нужно передать имя файла вместе с путем пути к FileReader. – happyHelper

ответ

1

вы работаете с NetBeans, так что я вещь после того, как вы строите приложение к папке будет под названием DIST создающих здесь поставить test.txt

+0

thx dude это отлично работает –

1

Добавьте эту строку в методе readFileAsString

System.out.println("Current Directory:"+ new File(".").getAbsolutePath()); 

Это будет скажите, что представляет собой текущий каталог вашего приложения. Поместите файл test.txt в тот же каталог, и вы сможете его прочитать. Я бы предположил, что выход будет отличаться от Netbeans (где вы знаете, что файл ожидается) и когда вы запускаете Jar (который может быть где угодно).

Смежные вопросы