2015-11-20 2 views
0

Как преобразовать FileResource в String?Преобразование FileResource в строку

Сейчас у меня есть это:

FileResource resource = new FileResource("data/someText.txt"); 
String message = ""; 

for(String word : resource.words()) { message = message + word; } 

System.out.println(message); 

Это создает сообщение, но не добавлять пробелы или другие символы.

Как я могу изменить resource.words() на что-нибудь, что добавляет все символы?

+1

Что такое 'FileResource'? – Tunaki

+0

Вы должны ** действительно ** рассмотреть возможность использования 'StringBuilder' –

ответ

2

Используйте resource.lines() вместо слов или .asString() - Возвращает все содержимое этого открытого файла в виде одной строки.

http://www.dukelearntoprogram.com/course2/doc/javadoc/edu/duke/FileResource.html

FileResource resource = new FileResource("data/someText.txt"); 
StringBuilder message = new StringBuilder(); 

for(String line: resource.lines()) { 
    message.append(line + " "); 
} 

System.out.println(message); 
+0

Перспектива для выяснения (по-видимому) того, что «FileResource» ОП говорит о –

+0

Это прекрасно работает! Тем не менее, можно добавить пробел (""), когда программа считывает новую строку? Прямо сейчас, когда читается новая строка, она не создает пространство для следующего слова. – Ravers

+0

Я обновил свой ответ. Пожалуйста, отметьте мой пост как принятый ответ –

1

Вы можете добавить пространство " " внутри цикла for:

FileResource resource = new FileResource("data/smallHamlet.txt"); 
String message = ""; 

for(String word : resource.words()) 
{ 
    message = message + word + " "; 
} 
System.out.println(message); 
+0

Да, я просто сделал это и на данный момент это работает. Однако я не уверен, что это лучшее решение. Спасибо! – Ravers

2

Вы можете добавить пробел между Loop! Очень важно, чтобы вы не использовали использовать String конкатенация. Ваша скорость будет замедляться так быстро, поэтому важно, чтобы ваш код был намного более плавным, используя String Builder.

FileResource resource = new FileResource("data/smallHamlet.txt"); 
StringBuilder message = new StringBuilder(); 

for(String word : resource.words()) 
{ 
    str.append(word + " "); 
} 
System.out.println(message); 

Это даст вам действительно очень жесткий толчок в теме производительности и скорости

0

// Используем метод AsString().

Строка f = "mysteryTwoKeysQuiz.txt";

FileResource fr = новый FileResource (f);

Строка s = fr.asString();

Смежные вопросы