![](/img/trans.png)
[英]Finding specific elements of a string read in from a .txt file in Java
[英]Retrieve specific string from txt file in java
嘿,我有一個txt文件,我只想從中讀取特定的字符串。 文件:
This Ticket Being Generated as You Confirm
Name : John
Movie : Batman
Location: MidVally
Time : 7PM-9PM
Time : 2
Seats : [A-4, B-3, D-5, C-1, D-2, E-3]
UniqueID: Batman7PM-9PMMidVally
我只想檢索UniqueID並將其保存在字符串中,在這種情況下為String UniqID =“ Batman7PM-9PMMidVally”。 任何想法如何實現它
public FileReader fr = new FileReader("path/to/your/file");
public BufferedReader br = new BufferedReader(fr);
String unique;
String line;
while((line = br.readLine()) != null){
if (line.contains("UniqueID"))
{
unique = line.split(":")[1].trim();
break;
}
}
如果文件始終具有相同的結構。
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.HashMap;
import java.util.stream.Stream;
public class TestClass {
private static final String FILE_PATH = "YOUR-FILE-PATH";
public static void main(String... a) {
String uniqID = "";
uniqID = getValueFromFile(FILE_PATH, "UniqueID");
System.out.println("String UniqID = \"" + uniqID + "\"");
}
private static String getValueFromFile(String filePath, String id) {
HashMap<String, String> map= readFile(filePath);
String value=searchMap(map,id);
return value;
}
private static String searchMap(HashMap<String,String> map,String id) {
try {
if(map.containsKey(id))return map.get(id);
}
catch (Exception e){
e.printStackTrace();
}
return "Not Found";
}
private static HashMap readFile(String filePath) {
HashMap<String, String> map = new HashMap<>();
try {
try (Stream<String> lines = Files.lines(Paths.get(filePath), StandardCharsets.UTF_8)) {
for (String line : (Iterable<String>) lines::iterator) {
String[] lineValues = line.split(":");
if (lineValues.length == 2)
map.put(lineValues[0].trim(), lineValues[1].trim());
}
}
} catch (Exception e) {
e.printStackTrace();
}
return map;
}
}
這是一個類似於json的結構,但在您確認時會生成此票證。 嘗試將文本轉換為json,然后嘗試檢索as鍵值對。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.