Как передать имя файла в качестве параметра, создать и затем прочитать файл - PullRequest
0 голосов
/ 02 марта 2019

У меня есть следующий метод:

    public(String input_filename, String output_filename)
   {
//some content
    }

как создать имя файла input_file во время выполнения и прочитать имя файла input_file. Мне нужно передать имя input_filename в качестве параметра

Пожалуйста, наберитесь терпенияЯ новичок в Java

Ответы [ 2 ]

0 голосов
/ 02 марта 2019

Вот полный пример:

Сохраните его как Sample.java

скомпилируйте его с помощью: javac Sample.java

запустите его с: java Sample "in.txt" "out.txt"

или: java Sample

import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;

public class Sample {
    public static void main(String[] args) throws IOException {
        if(args.length == 2)
        {
            doFileStuff(args[0],args[1]);
        }
        else {
            doFileStuff("in.txt","out.txt");
        }
    }

    public static void doFileStuff(String input_filename, String output_filename) throws IOException {

        if(!Files.exists(Paths.get(input_filename)))
        {
            System.err.println("file not exist: " + input_filename);
            return;
        }

        if(!Files.exists(Paths.get(output_filename)))
        {
            System.err.println("file still exist, do not overwrite it: " + output_filename);
            return;
        }

        String content = new String(Files.readAllBytes(Paths.get(input_filename)));

        content += "\nHas added something";

        Files.write(Paths.get(output_filename), content.getBytes(StandardCharsets.UTF_8));
    }
}
0 голосов
/ 02 марта 2019

Я не уверен, что вы хотите сделать с этим методом, но я надеюсь, что это может вам помочь.Если вы хотите вводить данные во время выполнения, используйте класс Scanner. Руководство по его использованию здесь

Также, если вы хотите получить вывод в вашем классе, вы должны использовать «return», а не иметь его в качестве параметра.

Обратите внимание, что вы еще не назвали свой класс или не указали тип вывода.

Как это может выглядеть:

public String className(String input){
    return input;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...