2016-02-13 3 views
1

У людей проблемы: «Says File не существует, но он делает», но моя проблема противоположна, файл не существует, но он говорит, что это так. Неуверенный о том, как решить эту проблему, а также другие темы только придумать «Файл не существует, но она делает», и т.д.Файл не существует, но говорит, что он делает?

Вот мой код:

package New; 
import java.util.Scanner; 
import java.io.BufferedWriter; 
import java.io.File; 
import java.io.FileWriter; 
public class FileEditor { 

public static void main(String[] args) throws Exception { 
    Scanner scan = new Scanner(System.in); 
    System.out.println("Where is the file stored ex: C:/Users/Name/Place/filename.txt"); 
    String a = scan.nextLine(); 
    File file = new File(a); 
    FileWriter writer = new FileWriter(file); 
    BufferedWriter bwriter = new BufferedWriter(writer); 
    if(!file.exists()){ 
     System.out.println("File does not exist."); 
    } 
    else{ 
     System.out.println("Start editing? y/n"); 
     String b = scan.nextLine(); 
+0

Как вы вводите путь к имени файла? Я имею в виду что-то вроде C: \ tmp \ my_file.txt? –

+2

'FileWriter' создаст файл, если он не существует ... (и готовьтесь его перезаписать) – MadProgrammer

+0

@IsmaelInfante Я пробовал это с файлом, который не существовал и какие-то случайные буквы, дал мне такой же реакция каждый раз. «Начать редактирование» Что означает, что java считает файл существующим TT – INeedHelp

ответ

3

Не создавайте FileWriter/BufferedWriter до тех пор, пока вы не проверите файл.

3

Файл делает есть. Вы создаете его прямо перед тем, как проверить, существует ли он:

FileWriter writer = new FileWriter(file); 
Смежные вопросы