Попытка сделать шифрование Vigenere в Java [duplicate]

Если у вас есть список файлов, вы можете использовать

replace "old_string" "new_string" -- file_name1 file_name2 file_name3

. Если у вас есть все файлы, вы можете использовать

replace "old_string" "new_string" -- *

. Если у вас есть список файлов с расширением, вы может использовать

replace "old_string" "new_string" -- *.extension
34
задан Ripon Al Wasim 14 October 2015 в 07:53
поделиться

11 ответов

Вы должны указать расширение файла здесь

File file = new File("10_Random.txt");
48
ответ дан Suranga 22 August 2018 в 02:05
поделиться
  • 1
    Мне нравится, когда ответ так прост ...! – Pranav A. 3 May 2018 в 13:45

Сначала проверьте адрес файла, он должен находиться рядом с вашим файлом .java или любым адресом, который вы определяете в переменной среды classpath. Когда вы проверите это, попробуйте ниже.

  1. вы должны использовать имя файла по его расширению в конструкторе объекта File, например: File myFile = new File("test.txt");
  2. , но есть лучший способ использовать его внутри объекта Scanner, пропустив абсолютный адрес имени файла, например: Scanner sc = new Scanner(Paths.get("test.txt"));

, вы также должны импортировать java.nio.file.Paths.

0
ответ дан Amir Maleki 22 August 2018 в 02:05
поделиться

Путь к файлу Кажется, что здесь проблема, убедитесь, что файл существует в правильном каталоге или укажите абсолютный путь, чтобы убедиться, что вы указываете на правильный файл. Войдите в файл file.getAbsolutePath (), чтобы убедиться, что файл верен.

1
ответ дан Avijit 22 August 2018 в 02:05
поделиться

Используйте следующие коды для чтения файла

import java.io.File;
import java.util.Scanner;

public class ReadFile {

    public static void main(String[] args) {

        try {
            System.out.print("Enter the file name with extension : ");

            Scanner input = new Scanner(System.in);

            File file = new File(input.nextLine());

            input = new Scanner(file);


            while (input.hasNextLine()) {
                String line = input.nextLine();
                System.out.println(line);
            }
            input.close();

        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

}

-> Это приложение печатает содержимое файла по строкам

18
ответ дан bluedroid 22 August 2018 в 02:05
поделиться
  1. Вам нужно указать точное имя файла, включая расширение файла, например. 10_Random.txt.
  2. Файл должен находиться в том же каталоге, что и исполняемый, если вы хотите ссылаться на него без какого-либо явного пути.
  3. Пока мы на нем , перед чтением int вам нужно проверить int. Невозможно проверить с помощью hasNextLine(), а затем ожидать int с nextInt(). Вы должны использовать hasNextInt(), чтобы проверить, что на самом деле есть int для захвата. Конечно, вы строго придерживаетесь одного правила цепочки на строку.
1
ответ дан Iskar Jarak 22 August 2018 в 02:05
поделиться
  1. Убедитесь, что имя файла верное (правильная заглавная буква, соответствующее расширение и т. д. - как уже было предложено).
  2. Используйте метод Class.getResource , чтобы найти файл в classpath - не полагаться на текущий каталог:
    URL url = insertionSort.class.getResource("10_Random");
    
    File file = new File(url.toURI());
    
  3. Укажите абсолютный путь к файлу через аргументы командной строки:
    File file = new File(args[0]);
    

В Eclipse:

  1. Выберите «Запустить конфигурации»
  2. Перейдите на вкладку «Аргументы»
  3. Поместите свой «c: / my / file / is / here / 10_Random.txt.or.whatever "в раздел" Параметры программы "
5
ответ дан Jamal 22 August 2018 в 02:05
поделиться
  • 1
    +1 для того, чтобы предлагать как путь к правильному пути, так и лучший способ (args) вообще выполнять эту задачу. Вы можете упомянуть try catch для обработки отказа, чтобы открыть файл, хотя. – Iskar Jarak 1 November 2012 в 23:41

Файл, который вы читаете, должен иметь точно указанное имя файла: "10_random" не «10_random.txt», а не «10_random.blah», он должен точно соответствовать тому, что вы просите. Вы можете изменить один из них так, чтобы они совпадали, но просто убедитесь, что они это делают. Это может помочь показать расширения файлов в любой операционной системе, которую вы используете.

Кроме того, для местоположения файла она должна находиться в рабочем каталоге (том же уровне), что и в конечном исполняемом файле (файл .class ), который является результатом компиляции.

0
ответ дан Kyle Falconer 22 August 2018 в 02:05
поделиться

Вот некоторые рабочие и проверенные методы:

using Scanner

package io;

import java.io.File;
import java.util.Scanner;

public class ReadFromFileUsingScanner {
    public static void main(String[] args) throws Exception {
        File file=new File("C:\\Users\\pankaj\\Desktop\\test.java");
        Scanner sc=new Scanner(file);
        while(sc.hasNextLine()){
            System.out.println(sc.nextLine());
        }
    }
}

Вот еще один способ прочитать весь файл (без цикла), используя класс Scanner

package io;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class ReadingEntireFileWithoutLoop {
    public static void main(String[] args) throws FileNotFoundException {
        File file=new File("C:\\Users\\pankaj\\Desktop\\test.java");
        Scanner sc=new Scanner(file);
        sc.useDelimiter("\\Z");
        System.out.println(sc.next());
    }
}

с использованием BufferedReader

 package io;
import java.io.*;
public class ReadFromFile2 {
    public static void main(String[] args)throws Exception {
        File file=new File("C:\\Users\\pankaj\\Desktop\\test.java");
        BufferedReader br=new BufferedReader(new FileReader(file));
        String st;
        while((st=br.readLine())!=null){
            System.out.println(st);
        }
    }
}

using FileReader

package io;
import java.io.*;
public class ReadingFromFile {
    public static void main(String[] args) throws Exception {
        FileReader fr=new FileReader("C:\\Users\\pankaj\\Desktop\\test.java");
        int i;
        while((i=fr.read())!=-1){
            System.out.print((char) i);
        }
    }
}
2
ответ дан pankaj 22 August 2018 в 02:05
поделиться

Вы должны использовать либо

File file = new File("bin/10_Random.txt");

, либо

File file = new File("src/10_Random.txt");

Относительно папки проекта в Eclipse.

0
ответ дан perror 22 August 2018 в 02:05
поделиться

Никто, кажется, не обратил внимание на то, что вы ничего не вписываете в массив. Вы устанавливаете каждый int, который читается на «i», а затем выводит его.

for (int i =0 ; sc.HasNextLine();i++)
{
    array[i] = sc.NextInt();
}

Что-то в этом случае будет сохранять значения массива для следующего целого числа.

Чем другой цикл может отображать числа в массиве.

for (int x=0;x< array.length ; x++)
{
    System.out.println("array[x]");
}
2
ответ дан rkosegi 22 August 2018 в 02:05
поделиться

private void loadData () {

    Scanner scanner = null;
    try {
        scanner = new Scanner(new File(getFileName()));
        while (scanner.hasNextLine()) {
            Scanner lijnScanner = new Scanner(scanner.nextLine());

            lijnScanner.useDelimiter(";");
            String stadVan = lijnScanner.next();
            String stadNaar = lijnScanner.next();
            double km = Double.parseDouble(lijnScanner.next());

            this.voegToe(new TweeSteden(stadVan, stadNaar), km);

        }
    } catch (FileNotFoundException e) {
        throw new DbException(e.getMessage(), e);
    } finally {
        if(scanner != null){
            scanner.close();
        }
    }
}
1
ответ дан Thomas Wouters 22 August 2018 в 02:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: