Обработка путей к файлам в cmd в Java - PullRequest
0 голосов
/ 29 ноября 2018

Я пытаюсь скопировать файл из папки и вставить в другую папку через командную строку с моей Java-программой, но я получаю кучу разных ошибок.Мой код

public static void main(String[] args) throws IOException
{
    String src = args[0];
    String dest = args[1];
    String temp[] = src.split("\\");
    String fileName = temp[temp.length-1];
    String data;
    FileReader fr = null;
    BufferedReader br = null;
    FileWriter fw = null;
    PrintWriter pw = null;
    try
    {
        fr = new FileReader(src);
        br = new BufferedReader(fr);
        fw = new FileWriter(dest + "\\" + fileName);
        pw = new PrintWriter(fw);
        data = br.readLine();
        while(data != null)
        {
            pw.println(data);
            data = br.readLine();
        }
    }
    catch(IOException ex)
    {
        System.out.println(ex.getMessage());
    }
}

Пожалуйста, скажите мне, что я делаю не так с моим кодом.Заранее спасибо.

Это ошибка, которую я получаю на cmd https://imgur.com/a/83JvVmP

1 Ответ

0 голосов
/ 29 ноября 2018

Вместо этого вы можете использовать Path для получения de path:

public static void main(String[] args) {
    String src = args[0];
    String dest = args[1];

    String fileName = Paths.get(src).getFileName().toString();

    System.out.println("fileName:" + fileName);

    String data;
    FileReader fr = null;
    BufferedReader br = null;
    FileWriter fw = null;
    PrintWriter pw = null;
    try {
        fr = new FileReader(src);
        br = new BufferedReader(fr);
        fw = new FileWriter(dest + "\\" + fileName);
        pw = new PrintWriter(fw);
        data = br.readLine();
        while (data != null) {
            pw.println(data);
            data = br.readLine();
        }
    } catch (IOException ex) {
        System.out.println(ex.getMessage());
    }
}

Я пробовал это в Eclipse и с Jar, и отлично работает:

enter image description here

...