2014-10-01 1 views
1

У меня есть файл под названием temperature.txt, сохраненный на моем рабочем столе, какой код я бы использовал для его создания в Java. В настоящее время я пытаюсь использоватьКак вызвать файл с рабочего стола на Java?

Файл файла = новый файл («C:/Windows/system32> /Desktop/temperatures.txt ");

Когда я вырывать команду на моих школах компьютере она говорит C: \ Windows \ system32>

Моих слэшей назад, потому что, когда я скомпилировать он говорит: «\» является недопустимым символом в BlueJ

ответ

1

/ - косая черта. Это разделитель путей в операционных системах на базе Unix.

\ - это обратная косая черта. Это разделитель путей в Windows. Оба должны работать. Java переводится соответствующим образом.

\ в строковых литералах Java (и аналогично в большинстве других языков программирования) является escape-символом. Когда у вас есть строковый литерал, написанный как "C:\Windows..." Ваша IDE жалуется, потому что Java пытается рассматривать «\ W» как escape-последовательность.

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

File file = new File("C:\\Windows\\system32>\\Desktop\\temperatures.txt"); 
+0

Я все еще есть: java.io.FileNotFoundException: C: \ Windows \ system32 \ Desktop \ temperatures.txt (Система не может найти указанный путь) – Alex

+1

Я уверен, что путь неправильно. –

1

Другой полное решение:

import java.io.File; 
import java.io.IOException; 

public class Programme { 

    public static void main(String[] args) { 

     String yourDesktopPath = System.getProperty("user.home") + "\\Desktop\\"; 

     try { 

      File file = new File(yourDesktopPath + "temperatures.txt"); 
      if (file.createNewFile()) { 
       System.out.println("File is created!"); 
      } else { 
       System.out.println("File already exists."); 
      } 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

    } 

} 
1

Это нормально использовать слэши вместо обратной косой черты. Вы можете использовать \\ для обратных косых черт, но это ничего не изменит.

Я вижу 3 возможных вопроса с дорожкой.

1) Путь содержит символ >, который, похоже, не принадлежит. Это, вероятно, следует:

File file = new File("C:/Windows/system32/Desktop/temperatures.txt"); 

2) windows\system32 является каталогом системы, и это может быть, что окна ограничивает доступ к этой папке.

3) Это не обычный рабочий стол. Обычно рабочий стол находится в каталоге пользователя. Например здесь:

C:\Users\YourName\Desktop