Вывод в консоль я обеспечил, на анг.яз. все работает. Но если принимаю другой язык, то не работает. Выдает что, то такое, "Ð¿Ð¸Ð´Ð¾Ñ Ð±Ð»ÑÑÑ", вместо русского словосочетания)

Как я понял, нужна кодировка UTF-8, но как я не знаю

Чтение файла 1. Считать с консоли имя файла. 2. Вывести в консоль(на экран) содержимое файла. 3. Не забыть освободить ресурсы. Закрыть поток чтения с файла и поток ввода с клавиатуры. */

public class Solution {
    public static void main(String[] args) throws IOException {
       BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
       InputStream inStream = new FileInputStream(reader.readLine());
       while (inStream.available() > 0){
           System.out.print((char) inStream.read());
       }

    inStream.close();
    reader.close();
}

}

задан 14 Мар, 08:06

evleaps's gravatar image

evleaps
275
одобрено: 16%


РАЗОБРАЛСЯ После объявления цикла нужно добавить переход к новой строке, ибо если мы еще что-то захотели вывести, это было бы не с новой строки! ПРИМЕТ СЕРВЕР НО, русские буквы отображаются не правильно!

Что-бы отображались правильно, нужно делать одним из способов(ТЕСТИРОВАНИЕ НЕ ПРОХОДИТ, ИБО РЕШЕНО БЕЗ FileinputStream)

СПОСОБ 1

 BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
 BufferedReader inStream = new BufferedReader(new FileReader(reader.readLine()));
 String str;

    while ((str = inStream.readLine()) != null) {
        System.out.println(str);
    }

    inStream.close();
    reader.close();
}

СПОСОБ 2

    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    Scanner scanner = new Scanner(new FileInputStream(reader.readLine()));
    while (scanner.hasNext()) {
        String data = scanner.nextLine();
        System.out.print(data);
    }

    reader.close();
    scanner.close();
    }}

Если кто-то знает, как решить с правильной кодировкой и что бы принял сервер, пожалуйста, напишите!

ссылка

опубликован 14 Мар, 12:38

evleaps's gravatar image

evleaps
275
одобрено: 16%

InputStream - читает побайтно. Воспользуйтесь для чтения содержимого файла тоже BufferedReader.
BufferedReader myFile = new BufferedReader(new FileReader(inFile));

ссылка

опубликован 14 Мар, 09:13

D-S's gravatar image

D-S
2.1k16
одобрено: 30%

Этим методом можно добиться результата, спасибо, +! НО не принимает. Задачу необходимо решить обязательно через FileinputStream.

(14 Мар, 09:40) evleaps

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); FileInputStream in = new FileInputStream(reader.readLine());

    while (in.available() > 0) {
        System.out.print((char)in.read());
    }
    in.close();
    reader.close();

Что не нравится валидатору, что он выдает ошибку "Программа должна выводить содержимое файла на экран"? Спасибо

ссылка

опубликован 20 Мар, 14:07

Milovsky's gravatar image

Milovsky
111
одобрено: 0%

вопрос решился вставкой System.out.println(); после цикла

(22 Мар, 09:43) Milovsky

С выводом получилось через перенаправление потока fileInputStream в InputStreamReader

   BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
    String strFileName = bufferedReader.readLine();

    FileInputStream fileInputStream = null;
    try
    {
        fileInputStream = new FileInputStream(strFileName);
        BufferedReader br = new BufferedReader( new InputStreamReader(fileInputStream));
        String line;
        while(( line = br.readLine()) != null ) {
            System.out.println(line);
        }
        br.close();
    }
    catch (Exception e)
    {
        if(fileInputStream!=null)
            fileInputStream.close();
    }
    finally {
        if(fileInputStream!=null)
            fileInputStream.close();
    }
    bufferedReader.close();
ссылка

опубликован вчера

askir's gravatar image

askir
111
одобрено: 0%

Ваш ответ
включить просмотр

Следить за вопросом

По Email:

После авторизации вы сможете подписаться на любые обновления здесь

Основы Markdown

  • *italic* or _italic_
  • **bold** or __bold__
  • ссылка:[текст](http://url.com/ "заголовок")
  • изображение?![alt текст](/path/img.jpg "заголовок")
  • нумерованный список: 1. Foo 2. Bar
  • Для того чтобы добавить разрыв строки просто добавьте два пробела.
  • основные HTML тэги, также поддерживаются

Тэги:

×151
×42
×37
×6
×6

Задан: 14 Мар, 08:06

Просмотров: 172 раз

Отредактирован: вчера