Как обрезать строку по «/»?
Доброго всем дня.
Такой момент. При написании pipeline на языке Groovy в функции которого входят взять ссылку из списка и из это ссылки взять только определенные части.
На данный момент реализовано так:
for(url in listUrls)< var1 = url.split('/')[-1] var2 = url.split('.')[2] . //Далее идет работа по использованию данных переменных >
Но при выполнении данного фрагмента выходит такая
ошибка
hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: [Ljava.lang.String;.split() is applicable for argument types: (java.lang.String) values: [/]
Possible solutions: split(groovy.lang.Closure), wait(), init(), sort(), tail(), toList()
В поисках на просторах интернета никаких наводок не получил. Решил обратиться к старому доброму комьюнити хабра. Как можно осуществить сплитование строки по сепаратору в качестве «/»?
- Вопрос задан более двух лет назад
- 377 просмотров
Комментировать
Решения вопроса 1
Saboteur @saboteur_kiev
software engineer
String mylist[]=url.split("/"); var1=mylist[0]; var2=mylist[1];
Ответ написан более двух лет назад
Нравится 1 5 комментариев
Денис Шавалеев @Shavaleev_DieZ Автор вопроса
Не совсем, у меня есть строка, в которую заносятся ссылки на определенные ресурсы. Далее эта строка разбивается по одной и заносится в список. Далее при обращении к списку берется ссылка на ресурс и вынимаются нужные части. Возможно не так вас понял, но в принципе задание переменных описано в примере вопроса. Переменные в начале скрипта объявлены как строка.
Заметил одну вещь, у вас в примере использования метода используются двойные кавычки(groovy-strings), когда как в моем примере используются одинарные — они же java-strings. Возможно этот момент не дает отработать.
Денис Шавалеев @Shavaleev_DieZ Автор вопроса
Saboteur, Я вас понял, вынести в список сплиты, но увы, не помогло, так же ругается на делитель.
Saboteur @saboteur_kiev
тогда надо приводить вообще полный пример как вы это используете, потому что сплит сам по себе вроде как работать должен
Денис Шавалеев @Shavaleev_DieZ Автор вопроса
Saboteur, именно на том шаге что описан и падает, т.е. я присвоение переменной даю, объявив ее как строку в начале кода, после чего выполняю сплит и пытаюсь взять конкретную часть. Вводить промежуточный список не очень будет удобно, т.к. его после оглавления каждый раз нужно будет чистить и присваивать новые данные, т.к. переменным присваиваются разные операции сплита.
Если описать весь процесс, то:
1. Берется строка где несколько ссылок на проекты, и сплитуется по делителю. и заносится в соответствующий список в виде отдельной ссылки как элемент. Работает.
2. Настроен цикл на проход элементов списка, где из ссылки вынимаются уникальные параметры посредством сплитования. На этом шаге и падает. Т.к. посредством вывода сообщений в консоль, видно что входит в сам цикл for, вывод url успешно попадает в консоль. Но дальше при присваивании переменных при сплите от url, выдает ошибку по превышению индесации массива. После того как присваиваю значения, так же прописан вывод их(переменных) в консоль для дэбага, вывода не последовало.
Как обрезать строку до заданного количества символов
Есть переменная String mawa; , в которой хранится некий текст. Как сделать так, чтобы этот текст обрезался до 25 символов?
Отслеживать
36.8k 6 6 золотых знаков 48 48 серебряных знаков 125 125 бронзовых знаков
задан 26 сен 2015 в 8:26
2,124 4 4 золотых знака 32 32 серебряных знака 84 84 бронзовых знака
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
mawa = mawa.substring(startindex, endindex);
Отслеживать
ответ дан 26 сен 2015 в 8:33
Nick Volynkin ♦ Nick Volynkin
34k 25 25 золотых знаков 130 130 серебряных знаков 222 222 бронзовых знака
В предыдущих ответах не упомянуто, что будет, если исходная строка короче 25 символов. Если такая ситуация возможна, её следует обработать отдельно. Например:
int limit = 25; String subStr = mawa.length() > limit ? mawa.substring(0, limit) : mawa;
Также не упомянуто, что будет, если строка содержит суррогатные пары UTF-16. Предположим, ваши пользователи — мормоны-фундаменталисты и общаются с помощью Дезеретского алфавита:
String mawa = "";
Попробуем сделать наивным способом:
String subStr = mawa.substring(0, 25); System.out.println(subStr);
В результате видим:
Символов всего 12 и вопросик ещё в конце появился странный. Определённо такая программа не проявляет должного уважения к мормонам-фундаменталистам. Чтобы всё работало правильно, надо, например, так:
int limit = 25; String subStr = mawa.codePointCount(0, mawa.length()) > limit ? mawa.substring(0, mawa.offsetByCodePoints(0, limit)) : mawa; System.out.println(subStr);
Тогда мы видим действительно 25 символов:
Вам всё ещё кажется, что взять подстроку от строки просто?
Отслеживать
ответ дан 29 сен 2015 в 3:04
Tagir Valeev Tagir Valeev
5,509 16 16 серебряных знаков 42 42 бронзовых знака
mawa.substring(0,25);
Метод substring() используется для извлечения подстроки из объекта String . Этот метод создает новую копию символов из того диапазона индексов оригинальной строки, который вы указали при вызове.
Можно указать только индекс первого символа нужной подстроки — тогда будут скопированы все символы, начиная с указанного и до конца строки. Также можно указать и начальный, и конечный индексы — при этом в новую строку будут скопированы все символы, начиная с первого указанного, и до (но не включая его) символа, заданного конечным индексом.
"Hello World".substring(6) -> "World" "Hello World".substring(3,8) -> "lo Wo"
Как обрезать строку в java
Для соединения строк можно использовать операцию сложения («+»):
String str1 = "Java"; String str2 = "Hello"; String str3 = str1 + " " + str2; System.out.println(str3); // Hello Java
При этом если в операции сложения строк используется нестроковый объект, например, число, то этот объект преобразуется к строке:
String str3 = "Год " + 2015;
Фактически же при сложении строк с нестроковыми объектами будет вызываться метод valueOf() класса String. Данный метод имеет множество перегрузок и преобразует практически все типы данных к строке. Для преобразования объектов различных классов метод valueOf вызывает метод toString() этих классов.
Другой способ объединения строк представляет метод concat() :
String str1 = "Java"; String str2 = "Hello"; str2 = str2.concat(str1); // HelloJava
Метод concat() принимает строку, с которой надо объединить вызывающую строку, и возвращает соединенную строку.
Еще один метод объединения — метод join() позволяет объединить строки с учетом разделителя. Например, выше две строки сливались в одно слово «HelloJava», но в идеале мы бы хотели, чтобы две подстроки были разделены пробелом. И для этого используем метод join() :
String str1 = "Java"; String str2 = "Hello"; String str3 = String.join(" ", str2, str1); // Hello Java
Метод join является статическим. Первым параметром идет разделитель, которым будут разделяться подстроки в общей строке, а все последующие параметры передают через запятую произвольный набор объединяемых подстрок — в данном случае две строки, хотя их может быть и больше
Извлечение символов и подстрок
Для извлечения символов по индексу в классе String определен метод char charAt(int index) . Он принимает индекс, по которому надо получить символов, и возвращает извлеченный символ:
String str = "Java"; char c = str.charAt(2); System.out.println(c); // v
Как и в массивах индексация начинается с нуля.
Если надо извлечь сразу группу символов или подстроку, то можно использовать метод getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) . Он принимает следующие параметры:
- srcBegin : индекс в строке, с которого начинается извлечение символов
- srcEnd : индекс в строке, до которого идет извлечение символов
- dst : массив символов, в который будут извлекаться символы
- dstBegin : индекс в массиве dst, с которого надо добавлять извлеченные из строки символы
String str = "Hello world!"; int start = 6; int end = 11; char[] dst=new char[end - start]; str.getChars(start, end, dst, 0); System.out.println(dst); // world
Сравнение строк
Для сравнения строк используются методы equals() (с учетом регистра) и equalsIgnoreCase() (без учета регистра). Оба метода в качестве параметра принимают строку, с которой надо сравнить:
String str1 = "Hello"; String str2 = "hello"; System.out.println(str1.equals(str2)); // false System.out.println(str1.equalsIgnoreCase(str2)); // true
В отличие от сравнения числовых и других данных примитивных типов для строк не применяется знак равенства ==. Вместо него надо использовать метод equals() .
Еще один специальный метод regionMatches() сравнивает отдельные подстроки в рамках двух строк. Он имеет следующие формы:
boolean regionMatches(int toffset, String other, int oofset, int len) boolean regionMatches(boolean ignoreCase, int toffset, String other, int oofset, int len)
Метод принимает следующие параметры:
- ignoreCase : надо ли игнорировать регистр символов при сравнении. Если значение true , регистр игнорируется
- toffset : начальный индекс в вызывающей строке, с которого начнется сравнение
- other : строка, с которой сравнивается вызывающая
- oofset : начальный индекс в сравниваемой строке, с которого начнется сравнение
- len : количество сравниваемых символов в обеих строках
String str1 = "Hello world"; String str2 = "I work"; boolean result = str1.regionMatches(6, str2, 2, 3); System.out.println(result); // true
В данном случае метод сравнивает 3 символа с 6-го индекса первой строки («wor») и 3 символа со 2-го индекса второй строки («wor»). Так как эти подстроки одинаковы, то возвращается true .
И еще одна пара методов int compareTo(String str) и int compareToIgnoreCase(String str) также позволяют сравнить две строки, но при этом они также позволяют узнать больше ли одна строка, чем другая или нет. Если возвращаемое значение больше 0, то первая строка больше второй, если меньше нуля, то, наоборот, вторая больше первой. Если строки равны, то возвращается 0.
Для определения больше или меньше одна строка, чем другая, используется лексикографический порядок. То есть, например, строка «A» меньше, чем строка «B», так как символ ‘A’ в алфавите стоит перед символом ‘B’. Если первые символы строк равны, то в расчет берутся следующие символы. Например:
String str1 = "hello"; String str2 = "world"; String str3 = "hell"; System.out.println(str1.compareTo(str2)); // -15 - str1 меньше чем strt2 System.out.println(str1.compareTo(str3)); // 1 - str1 больше чем str3
Поиск в строке
Метод indexOf() находит индекс первого вхождения подстроки в строку, а метод lastIndexOf() — индекс последнего вхождения. Если подстрока не будет найдена, то оба метода возвращают -1:
String str = "Hello world"; int index1 = str.indexOf('l'); // 2 int index2 = str.indexOf("wo"); //6 int index3 = str.lastIndexOf('l'); //9
Метод startsWith() позволяют определить начинается ли строка с определенной подстроки, а метод endsWith() позволяет определить заканчивается строка на определенную подстроку:
String str = "myfile.exe"; boolean start = str.startsWith("my"); //true boolean end = str.endsWith("exe"); //true
Замена в строке
Метод replace() позволяет заменить в строке одну последовательность символов на другую:
String str = "Hello world"; String replStr1 = str.replace('l', 'd'); // Heddo wordd String replStr2 = str.replace("Hello", "Bye"); // Bye world
Обрезка строки
Метод trim() позволяет удалить начальные и конечные пробелы:
String str = " hello world "; str = str.trim(); // hello world
Метод substring() возвращает подстроку, начиная с определенного индекса до конца или до определенного индекса:
String str = "Hello world"; String substr1 = str.substring(6); // world String substr2 = str.substring(3,5); //lo
Изменение регистра
Метод toLowerCase() переводит все символы строки в нижний регистр, а метод toUpperCase() — в верхний:
String str = "Hello World"; System.out.println(str.toLowerCase()); // hello world System.out.println(str.toUpperCase()); // HELLO WORLD
Split
Метод split() позволяет разбить строку на подстроки по определенному разделителю. Разделитель — какой-нибудь символ или набор символов передается в качестве параметра в метод. Например, разобьем текст на отдельные слова:
String text = «FIFA will never regret it»; String[] words = text.split(» «); for(String word : words)
В данном случае строка будет разделяться по пробелу. Консольный вывод:
FIFA will never regret it
[java] Откусить от конца строки n символов
Имеется массив строк, надо вывести их все обрезанными на определенное количество символов сзади (например «helloworld», а надо «hellow», минус 4 символа от хвоста). Что то не соображу как.

tr0ll ★
07.05.10 21:59:53 MSD

[в поиск] [в talks]
ну задолбали уже.
public static String cutN(String s,int n) < char [] chars = s.toCharArray(); String result = ""; if (chars.lengthreturn result; >
qnikst ★★★★★
( 07.05.10 22:08:24 MSD )
Ответ на: [в поиск] [в talks] от qnikst 07.05.10 22:08:24 MSD

ужас какой.
python: a_string[:-4]
val-amart ★★★★★
( 07.05.10 22:09:58 MSD )
Ответ на: [в поиск] [в talks] от qnikst 07.05.10 22:08:24 MSD
alex_custov ★★★★★
( 07.05.10 22:11:07 MSD )
Ответ на: комментарий от val-amart 07.05.10 22:09:58 MSD
Представляю, как на пифоне будет сайт уровня ЛОР
python: MakeLORSite()
Karapuz ★★★★★
( 07.05.10 22:11:58 MSD )
Ответ на: комментарий от val-amart 07.05.10 22:09:58 MSD

топики как сделать hello world задолбали
а на питоне я тоже умею ^_^
def cutN(s,n): _n = int(n); _r = ""; _s = str(s); for l in range(0,len(s)-_n): _r += _s[l]; return _r;
qnikst ★★★★★
( 07.05.10 22:15:41 MSD )
Ответ на: топики как сделать hello world задолбали от qnikst 07.05.10 22:15:41 MSD

это ты типа так доказал что быдлокодить на жабе можно на любом языке?
неужели в джаве нельзя элементарно взять подстроку?
val-amart ★★★★★
( 07.05.10 22:17:30 MSD )
Ответ на: [в поиск] [в talks] от qnikst 07.05.10 22:08:24 MSD

qnikst ★★★★★
( 07.05.10 22:17:41 MSD )
Ответ на: комментарий от val-amart 07.05.10 22:17:30 MSD

#ifdef лень_думать
можно конечно.
#endif
qnikst ★★★★★
( 07.05.10 22:19:11 MSD )
Ответ на: [в поиск] [в talks] от qnikst 07.05.10 22:08:24 MSD

Жесть нах. А вот так некошерно?
String b = a.substring(begin, end);
stave ★★★★★
( 07.05.10 22:21:17 MSD )
Ответ на: комментарий от stave 07.05.10 22:21:17 MSD

юмор нынче не в моде
нет конечно, это же не интэрпрайз будет..
накрайняк можно так:
public static String cutN(String s,int n) < Pattern p = Pattern.compile("(.*)+(?=.)"); Matcher m = p.matcher(s); if (m.find()) < return m.group(); >return null; >
qnikst ★★★★★
( 07.05.10 22:28:32 MSD )
Ответ на: [в поиск] [в talks] от qnikst 07.05.10 22:08:24 MSD
> public static String cutN(String s,int n) {
Приплыли. В школьном бейсике и то было left$() и right$(). А где-то даже и mid$().
tx ★
( 07.05.10 23:07:31 MSD )
for (String s : arr) System.out.println(StringUtils.substring(s, 0, -4));
Legioner ★★★★★
( 07.05.10 23:16:46 MSD )
Местные знатоки Java поражают. Из всех предложеных решений лишь один вменяемый.
bbk123 ★★★★★
( 08.05.10 00:14:14 MSD )
Ответ на: комментарий от bbk123 08.05.10 00:14:14 MSD

>Местные знатоки Java поражают. Из всех предложеных решений лишь один вменяемый.
И после этого говорят что джава тормозит. Хотя тормозит явно «разработчик» =/
theos ★★★
( 08.05.10 05:17:08 MSD )
Ответ на: [в поиск] [в talks] от qnikst 07.05.10 22:08:24 MSD

А то понабежало школоты, все по-короче, да по-короче им подавай. Тфу! Что за нравы у современной молодежи.
baverman ★★★
( 08.05.10 05:31:57 MSD )
Ответ на: комментарий от bbk123 08.05.10 00:14:14 MSD
atiyakkha
( 08.05.10 07:21:07 MSD )
Ответ на: комментарий от theos 08.05.10 05:17:08 MSD
atiyakkha
( 08.05.10 07:21:42 MSD )
Ответ на: комментарий от bbk123 08.05.10 00:14:14 MSD

вот только не говори, что troll’у нужно было указать функцию substring да ещё со ссылкой на документацию.
qnikst ★★★★★
( 08.05.10 09:47:05 MSD )
Ответ на: комментарий от bbk123 08.05.10 00:14:14 MSD
Из всех предложеных решений лишь один вменяемый
Ну да, вот что делает с нормальными программистами знакомство с пифоном
Karapuz ★★★★★
( 08.05.10 13:07:46 MSD )
Ответ на: комментарий от qnikst 08.05.10 09:47:05 MSD
Среди всех невменяемых решений, твоё — первое.
bbk123 ★★★★★
( 08.05.10 13:13:00 MSD )
Ответ на: комментарий от bbk123 08.05.10 13:13:00 MSD

я в шоке
ты действительно считаешь, что я этого не знаю?
Пришлось даже секунд 30 подумать, чтобы больше ошибок допустить.
qnikst ★★★★★
( 08.05.10 13:15:58 MSD )
Ответ на: [в поиск] [в talks] от qnikst 07.05.10 22:08:24 MSD

Чуть не подавился.
За такое с партии нужно исключать.
ZeMvlad ★
( 08.05.10 13:20:28 MSD )
Ответ на: комментарий от ZeMvlad 08.05.10 13:20:28 MSD

..ещё один
советую почитать: Ю. Г. Тамберг, ISBN 978-5-89349-648-2. Там объяснено почему это хорошее решение
qnikst ★★★★★
( 08.05.10 13:33:43 MSD )
Ответ на: комментарий от baverman 08.05.10 05:31:57 MSD
bbk123 ★★★★★
( 08.05.10 13:35:35 MSD )
Ответ на: ..ещё один от qnikst 08.05.10 13:33:43 MSD

Ваш юмор на столько тонок, что его видите только вы.
ZeMvlad ★
( 08.05.10 14:12:33 MSD )
Ответ на: топики как сделать hello world задолбали от qnikst 07.05.10 22:15:41 MSD

У вас, жабистов, специфическое чувство юмора.
tailgunner ★★★★★
( 08.05.10 14:14:47 MSD )
Ответ на: комментарий от ZeMvlad 08.05.10 14:12:33 MSD

я слишком хорошо отношусь к людям?
если честно увидев такой код я бы не подумал, что это советуют на самом деле.
#ifdef на_личности
ваш мозг позволяет вам придумать ответ только со 2го раза
#endif
qnikst ★★★★★
( 08.05.10 14:18:14 MSD )
Ответ на: комментарий от tailgunner 08.05.10 14:14:47 MSD

т.е. увидев такой код ты решил, что я серьёзно буду использовать его в своих программах? о.О
qnikst ★★★★★
( 08.05.10 14:19:08 MSD )
Ответ на: комментарий от qnikst 08.05.10 14:19:08 MSD

> т.е. увидев такой код ты решил, что я серьёзно буду использовать его в своих программах? о.О
Думаю, после примера на Питоне уже никто не сомневался, что ты шутишь. Просто шутка такая. специфическая.
tailgunner ★★★★★
( 08.05.10 14:23:40 MSD )
Ответ на: комментарий от tailgunner 08.05.10 14:23:40 MSD

в общем то мне показалось, что таким темам не место в development. И хотелось чуть уменьшить и без того невысокую серьёзность темы, возможно я был не прав. =)
qnikst ★★★★★
( 08.05.10 14:25:34 MSD )
Ответ на: комментарий от ZeMvlad 08.05.10 13:20:28 MSD

я понял.. ты хотел чтобы я бросал throw new StringIndexOutOfBoundsException(n); ?
извини я не сразу догадался
qnikst ★★★★★
( 08.05.10 14:36:45 MSD )
Ответ на: комментарий от val-amart 07.05.10 22:17:30 MSD

>>быдлокодить на жабе можно на любом языке
mclaudt ☆
( 08.05.10 14:42:11 MSD )
Ответ на: комментарий от qnikst 08.05.10 14:25:34 MSD
> возможно я был не прав.
Сделайте последнее усилие. Ещё не всё потеряно.
bbk123 ★★★★★
( 08.05.10 15:04:04 MSD )
тред полон жабабыдла. [code=java] public class Test { public static void main(String[] args) { String[] a = {«hello», «trololo»}; String[] b = cut(a);
for(String s : b) System.out.println(s); }
public static String[] cut(String[] s) { String[] r = new String[s.length];
return r; } } [/code]
anonymous
( 08.05.10 15:15:50 MSD )
Ответ на: комментарий от anonymous 08.05.10 15:15:50 MSD
public class Test < public static void main(String[] args) < String[] a = ; String[] b = cut(a); for(String s : b) < System.out.println(s); >> public static String[] cut(String[] s) < String[] r = new String[s.length]; for(int i = 0; i < s.length; i++) < if(s[i].length() >4) r[i] = s[i].substring(0, s[i].length()-4); > return r; > >
anonymous
( 08.05.10 15:16:49 MSD )
Ответ на: комментарий от anonymous 08.05.10 15:16:49 MSD
Ещё одно невменяемое решение.
bbk123 ★★★★★
( 08.05.10 16:17:28 MSD )
Ответ на: комментарий от bbk123 08.05.10 16:17:28 MSD

держи ещё вменяемый ты наш
как истиный светоч знания о яве ты должен увидеть ещё и это:
int cut = 4; String s = "Hello world"; String f = "%."+(s.length()-cut)+"s"; System.out.printf(f,"hello world");
формально задача решена ^_^
qnikst ★★★★★
( 08.05.10 18:52:43 MSD )
Ответ на: комментарий от bbk123 08.05.10 15:04:04 MSD

я наверное понял.. ты считаешь, что я действительно предлагаю человеку такие варианты? ну ладно, ещё, что-нибудь придумаю, только всё сложнее менее адекватные идеи предлагать 🙂
qnikst ★★★★★
( 08.05.10 18:54:31 MSD )
Ответ на: я слишком хорошо отношусь к людям? от qnikst 08.05.10 14:18:14 MSD

Вон из ветки, в Java нет ifdef
public interface CompileFlags < public static final boolean на_личности = true; >if (CompileFlags.на_личности)
vertexua ★★★★★
( 08.05.10 19:14:32 MSD )
Ответ на: комментарий от qnikst 08.05.10 18:54:31 MSD
Лечиться вам нужно, любезный вы наш.
bbk123 ★★★★★
( 08.05.10 19:19:56 MSD )

public static String cutNCharsFromTheEnd(String s, int N) < StringChar end = StringChar.makeStringChar(s, 0, new StringNullChar()); return end.skipCharsAndMakeString(N); >private static class StringChar < private Character OwnCharBuffer; private StringChar ParentStringChar; private StringChar(char c, StringChar ParentStringChar) < OwnCharBuffer = new Character(c); this.ParentStringChar = ParentStringChar; >public String skipCharsAndMakeString(int number) < if(number == 0) return makeString(""); else < if(ParentStringChar == null) throw new RuntimeException("Too many characters to cut"); return ParentStringChar.skipCharsAndMakeString(number - 1); >> public String makeString(String s) < return ParentStringChar.makeString(OwnCharBuffer.toString() + s); >public static StringChar makeStringChar(String s, int i, StringChar ParentStringChar) < try < char c = s.charAt(i); StringChar ch = new StringChar(c, ParentStringChar); return makeStringChar(s, i + 1, ch); >catch(IndexOutOfBoundsException e) < return ParentStringChar; >> > private static class StringNullChar extends StringChar < public StringNullChar() < super('\0', null); >public String skipCharsAndMakeString(int number) < if(number != 0) throw new RuntimeException("Too many characters to cut"); return ""; >public String makeString(String s) < return s; >>
proud_anon ★★★★★
( 08.05.10 19:30:06 MSD )

StringBuffer
использовать можно не стринг, а StringBuffer
Aid_ ★
( 08.05.10 19:39:02 MSD )
Ответ на: комментарий от bbk123 08.05.10 19:19:56 MSD

ISBN 978-5-89349-648-2
кстати скоро ещё забавный вариант будет, правда proud_anon врятли переплюну.
qnikst ★★★★★
( 08.05.10 19:58:52 MSD )
Ответ на: комментарий от bbk123 08.05.10 19:19:56 MSD

держи карман шире
На ещё невменяемого кода (он даже платформозависимый)
try < OutputStream stdin; InputStream stdout; InputStream stderr; String cmd[] = )">; Process pt = Runtime.getRuntime().exec(cmd); stdin = pt.getOutputStream(); stdout = pt.getInputStream(); stderr = pt.getErrorStream(); String line ="hello world" + "\n"; stdin.write(line.getBytes()); stdin.flush(); stdin.close(); BufferedReader outReader = new BufferedReader(new InputStreamReader(stdout)); while ((line = outReader.readLine ()) != null) < System.out.println (line); >outReader.close(); BufferedReader errReader = new BufferedReader(new InputStreamReader(stderr)); while ((line = errReader.readLine ()) != null) < System.out.println ("[Stderr] " + line); >errReader.close(); pt.waitFor(); > catch (InterruptedException ex) < Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); >catch ( IOException ex)
P.S. правда этот код содержит вменяемые (не относительно данной задачи) моменты..
P.P.S. пойду про организацию pipe читать, тогда тут ещё через echo прогнать можно будет
qnikst ★★★★★
( 08.05.10 22:31:23 MSD )
Ответ на: держи карман шире от qnikst 08.05.10 22:31:23 MSD

Хаха, я в С программе через cat и grep мерял количество процессоров на машине. Почувствовал себя плечем к плечу с Ричардом Столлманом в 80-х годах
vertexua ★★★★★
( 08.05.10 22:33:56 MSD )
Ответ на: я слишком хорошо отношусь к людям? от qnikst 08.05.10 14:18:14 MSD
>я слишком хорошо отношусь к людям?
Это же лор. Здесь надо явно обозначать сарказм, об этом уже много раз говорилось. [сарказм]ведь здесь все всегда говорят правду и никто не ожидает, что ты скажешь не то, что думаешь[/сарказм]