2016-04-01 14 views
1

Ich habe eine einfache Notepad-Textdatei erstellt (zB text-file.txt) und habe versucht, diese Datei in mehrere Dateipfade für meinen Code zu platzieren abzurufen, aber ich kann nicht scheinen, dass dies funktioniert. Im Grunde möchte ich den Inhalt von text-file.txt verwenden und eine zweite Datei erstellen, in der alles in Großbuchstaben geschrieben ist.Eine andere java.io.FileNotFoundException (Das System kann die angegebene Datei nicht finden) thread

Hier ist mein Code:

package abc123; 

import java.util.Scanner; 
import java.io.FileReader; 
import java.io.IOException; 
import java.io.PrintWriter; 

public class abc123 
{ 
     public static void main (String [] args) throws IOException 
     { 
       Scanner in = new Scanner(System.in); 

      System.out.print("Please provide the name of your input file: "); 
      String inFileName = in.nextLine(); 
      System.out.print("Please indicate what you'd like to name your output file: "); 
      String outFileName = in.nextLine(); 

      FileReader reader = new FileReader(inFileName); 
      PrintWriter writer = new PrintWriter(outFileName); 
      Scanner fileReader = new Scanner(reader); 

      while(fileReader.hasNext()) 
      { 
        String line = fileReader.nextLine(); 
        line = line.toUpperCase(); 
        writer.println(line); 
      } 

      fileReader.close(); 
      writer.close(); 

      System.out.println("The process is now complete. Please check your output file. Thank you."); 
     } 
} 

Ich bin ein Java-Neuling, so dass eine einfache Lösung (und Kommentare, wie immer), dass ich an dieser Stelle fassen kann wäre super hilfreich. Vielen Dank!

+0

Nicht sicher, warum Sie dies mit 'ios' getaggt haben, aber ich nehme an, dass Sie Windows verwenden. Haben Sie versucht, Ihre Textdatei einfach auf 'C: \ text-file.txt' zu setzen und' C: \ text-file.txt' einzugeben, wenn Sie die Anwendung ausführen? Sie können auch 'fileReader.hasNextLine()' anstelle von 'fileReader.hasNext()' verwenden. – BadCash

+0

Ha, yeah nicht sicher, wie die "ios" dort angekommen sind. Also habe ich die Änderung von fileReader.hasNextLine() vorgenommen und auch meine Datei in C: \ platziert und Ihrem Vorschlag gefolgt. Jetzt erhalte ich die folgende Fehlermeldung: "Ausnahme im Thread" main "java.io.FileNotFoundException: C: \ new-text-file.txt (Zugriff verweigert)". Irgendwelche Ideen? –

+0

Eigentlich habe ich gerade einen Ordner in C erstellt; \, lege meine Datei dort hinein, spezifiziere diesen neuen Pfad, und jetzt funktioniert das Programm. Yay! Vielen Dank. –

Antwort

0

Wenn sich die Datei nicht im selben Ordner wie Ihre Java-Klasse befindet, müssen Sie java full-path angeben, um die Datei zu finden. Achten Sie darauf, dass Sie auch die Erweiterung der Datei eingeben, z. B. ".txt".

+0

Danke! Ich habe die Dateierweiterung eingeschlossen, aber vorher nicht den vollständigen Pfad richtig eingegeben, und jetzt funktioniert es wie ein Zauber. –

Verwandte Themen