Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запустить файл с параметрами, java main.class inFile.txt outFile.cue 
V
    Опции темы
scyther
Дата 20.5.2008, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 12.4.2008

Репутация: нет
Всего: нет



Всем привет. Сделал простенькую програмку которая читает *.txt файл и сохраняет *.cue файл (уже форматированый текст данного формата).
Вопрос вот в чем: Как сделать, чтобы можна было запускать с командной строки мой класс с параметрами? Например так: java main.class inFile.txt outFile.cue
Вот код програмки, если Вы поняли что мне нужно, посоветуйте может как лучше ето сделать smile 
Код
package main;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class Main {

    /**
     * @param args
     * @throws IOException
     */

    public static void main(String[] args) throws IOException {
        openFile();
        System.out.println("done");
    }

    public static void openFile() throws IOException {
        openFile( "Artist", "SetName" );
    }

    public static void openFile(String artist, String set) throws IOException {
        File file = new File("c:\\Downloads\\Музыка\\070_Nitrous_Oxide_DI.fm_NET_2008_05_11\\list.txt");
        FileWriter fileWriter = new FileWriter("c:\\Downloads\\Музыка\\070_Nitrous_Oxide_DI.fm_NET_2008_05_11\\list.cue");
        FileReader fileReader = new FileReader(file);
        BufferedReader reader = new BufferedReader(fileReader);
        String readLine = "",
            bufLine = "";
        bufLine = "PERFORMER \"" + artist + "\"\n";
        fileWriter.write( bufLine, 0, bufLine.length() );
        bufLine = "TITLE \"" + set + "\"\n";
        fileWriter.write( bufLine, 0, bufLine.length() );
        bufLine = "FILE \"" + file.getName() + "\" MP3\n";
        fileWriter.write( bufLine, 0, bufLine.length() );
        while ( (readLine = reader.readLine()) != null ) {
            Integer
                start = readLine.indexOf("]"),
                mid = readLine.indexOf(" - "),
                last = readLine.lastIndexOf("(") - 1;
            String
                index = readLine.substring( 1, start ),
                track = readLine.substring( start+2, start+4 ),
                performer = readLine.substring( start+6, mid ),
                title = readLine.substring( mid+3, last );
            bufLine = "  TRACK " + track + " AUDIO\n";
            fileWriter.write( bufLine, 0, bufLine.length() );
            bufLine = "    PERFORMER \"" + performer + "\"\n";
            fileWriter.write( bufLine, 0, bufLine.length() );
            bufLine = "    TITLE \"" + title + "\"\n";
            fileWriter.write( bufLine, 0, bufLine.length() );
            bufLine = "    INDEX 01 " + index + ":00\n";
            fileWriter.write( bufLine, 0, bufLine.length() );
        }
        reader.close();
        fileReader.close();
        fileWriter.close();
    }

}

PM MAIL   Вверх
Aristotelb
Дата 20.5.2008, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 23.3.2007
Где: Саратов

Репутация: 4
Всего: 5



java main.class inFile.txt outFile.cue,
при этом inFile.txt окажется первым элементом массива args в методе main, а outFile.cue вторым
PM MAIL ICQ   Вверх
scyther
Дата 20.5.2008, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 12.4.2008

Репутация: нет
Всего: нет



c:\Downloads\Музыка\070_Nitrous_Oxide_DI.fm_NET_2008_05_11>java Main.class msg.txt kilo.cue
Вот такой ERROR пишет:
Код
Exception in thread "main" java.lang.NoClassDefFoundError: Main/class
Caused by: java.lang.ClassNotFoundException: Main.class
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)


а с Eclipse запускается правильно

Это сообщение отредактировал(а) scyther - 20.5.2008, 18:00
PM MAIL   Вверх
LSD
Дата 20.5.2008, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Не
Код

java Main.class msg.txt kilo.cue

а
Код

java main.Main msg.txt kilo.cue



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
scyther
Дата 20.5.2008, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 12.4.2008

Репутация: нет
Всего: нет



Вот такой main
Код

    public static void main(String[] args) throws IOException {
        openFile(args[0], args[1]);
        System.out.println("done");
    }

java main.Main msg.txt kilo.cue - не помогло :(
PM MAIL   Вверх
Orange
Дата 20.5.2008, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 6.9.2004
Где: Russia, Moscow

Репутация: 4
Всего: 5



Цитата(scyther @ 20.5.2008,  18:18)
Вот такой main
Код

    public static void main(String[] args) throws IOException {
        openFile(args[0], args[1]);
        System.out.println("done");
    }

java main.Main msg.txt kilo.cue - не помогло :(

а что на консоль выдаёт?
попробуй так: java -cp .. main.Main msg.txt kilo.cue

Это сообщение отредактировал(а) Orange - 20.5.2008, 18:52
--------------------
Пару дней назад я познакомился с мальчиком......
PM MAIL ICQ   Вверх
scyther
Дата 21.5.2008, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 12.4.2008

Репутация: нет
Всего: нет



Цитата(Orange @  20.5.2008,  18:48 Найти цитируемый пост)
попробуй так: java -cp .. main.Main msg.txt kilo.cue

 smile работает, спасиба
только несовсем понятно "java -cp - class search path of directories and zip/jar files", а ".." - что означает эти точки?
PM MAIL   Вверх
Orange
Дата 21.5.2008, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 6.9.2004
Где: Russia, Moscow

Репутация: 4
Всего: 5



.. - имел ввиду выйти в корень директории main. То есть другими словами package запускается не из дирректории где у тебя лежат скомпилированные классы, а из корневой его дирректории.
--------------------
Пару дней назад я познакомился с мальчиком......
PM MAIL ICQ   Вверх
LSD
Дата 21.5.2008, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



В FAQ!


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1076 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.