[英]How to get specific parts from columns in String in JAVA
Hello I started to code my own [Root] file browser in Android, and my application gets folders from command output like this; 您好我开始在Android中编写自己的[Root]文件浏览器,我的应用程序从命令输出中获取文件夹,就像这样;
drwxr-xr-x root root 2019-04-26 19:16 .system
drwxr-xr-x root root 2019-04-26 19:16 acct
drwxrwx--- system cache 2019-04-29 01:05 cache
dr-x------ root root 2019-04-26 19:16 config
lrwxrwxrwx root root 2019-04-26 19:16 d -> /sys/kernel/debug
drwxrwx--x system system 2019-04-26 19:16 data
-rw-r--r-- root root 482 1970-01-01 02:00 default.prop
drwxr-xr-x root root 2019-04-26 19:16 dev
drwxrwx--x radio system 2019-04-26 19:16 efs
lrwxrwxrwx root root 2019-04-26 19:16 etc -> /system/etc
-rw-r--r-- root root 84113 1970-01-01 02:00 file_contexts
-rw-r----- root root 922 1970-01-01 02:00 fstab.goldfish
For example I want only get size and name from column 4 and 7 how could I get them in java? 例如,我只想从第4列和第7列获取大小和名称,如何在java中获取它们? thanks for everyone. 谢谢大家。
You could use these methods to get the 4th column and the 7th: 您可以使用这些方法获得第4列和第7列:
private static int getSize(String line) {
int result = 0;
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(line);
if (m.find()) {
String temp = m.group();
Matcher m2 = Pattern.compile("\\d+\\-").matcher(line);
if (m2.find()) {
String dateNumber = m2.group().replace("-", "");
if (!dateNumber.equals(temp)) {
result = Integer.parseInt(temp);
}
}
}
return result;
}
private static String getName(String line) {
String result = "";
Pattern p = Pattern.compile("[A-Za-z_./\\s>-]+$");
Matcher m = p.matcher(line);
if (m.find()) {
result = m.group();
}
return result;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.