2012-01-23 3 views
1

Привет Я новичок в JAVA. Я получаю этот файл не найденным исключением, несмотря на файл, существующий в том месте, которое я указал в пути, который равенОшибка: Не удалось найти или загрузить основной класс - Новичок

Первоначально у меня была проблема с файлом, который не найден. Тем не менее, после выполнения очистки и повторного бежать, теперь я имею вопрос, который говорит

Error: Could not find or load main class main.main

import Message.*; 
import java.util.*; 
import java.io.File; 
import java.io.FileNotFoundException; 
import java.io.FileReader; 
import java.io.PrintWriter; 
public class main{ 


public static void main(String[] args) { 

     Message msg=new Message("bob","alice","request","[email protected]@@@"); 
     MPasser passerObj=new MPasser("C:\\Workspace\\config.txt","process1"); 

    } 
} 

Также в MPasser Конструктора следующий фрагмент соответствующего кода есть

public class MPasser(String file_name,String someVariable){ 
    InputStream input; 
     try { 
      input =new RandomAccessFile(file_name,"r"); 
     } catch (FileNotFoundException e) { 
      e.printStackTrace();   
      } 
    Yaml yaml = new Yaml(); 
    Map<String, String> Object = (Map<String, String>) yaml.load(input); 
} 

К сожалению Я сделал изменения от первоначального запроса, так что это более ясно

+1

Почему у вашего конструктора есть связанное с ним ключевое слово класса? – RanRag

+1

Вы должны уважать случай: 'public' not' Public' и 'class', если это определение класса (хотя вы говорите о конструкторе здесь) , Разве это не должно быть '' r "' вместо '' r''? (Как говорили другие, вам также не хватает «нового».) – Bruno

+0

@Bruno «r» берется, но проблема сохраняется. Здесь следует отметить тот факт, что она показывает ошибку в 11-й строке в функции main(), где на самом деле нет строки кода как таковой. Я предполагаю, что вы говорите о новом для «new RandomAccessFile (имя_файла,« r »); это также не помогает – ExceptionHandler

ответ

2

На этой линии:

input = RandomAccessFile("C:\Workspace\conf.txt",'r'); 

Вам нужно бежать \ «s

input = RandomAccessFile("C:\\Workspace\\conf.txt",'r'); 
+0

Привет, я попробовал это, но не успел :( – ExceptionHandler

+1

Вы не нашли ключевое слово 'new'? –

1
"C:\Workspace\conf.txt" 

Те управляющие последовательности. Вы, вероятно, имел в виду:

"C:\\Workspace\\conf.txt" 

Вы также, кажется, называют его config.txt в одном фрагменте кода и conf.txt в другой?

0

Вы должны избегать обратной косой черты.

input = RandomAccessFile("C:\\Workspace\\conf.txt",'r'); 

, а также

input = new RandomAccessFile("C:\\Workspace\\conf.txt",'r'); 

и почему у вас есть два разные имени файла conf.txt и config.txt.

+0

Извините, мой плохой. Я редактировал свой первоначальный запрос. При вставке кода мне как-то удалось стереть его. Извинения – ExceptionHandler

1

Убедитесь, что у java-процесса есть разрешения на чтение файла.

+0

yes , Я убедился, что :) – ExceptionHandler

+0

Можете ли вы взглянуть на пересмотренный вопрос и что-то предложить? – ExceptionHandler

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