用C风格在Java中解析?
我不熟悉java文本解析,我想知道当每行的格式已知时,解析文件的最佳方式是什么 我有一个文件,每行的格式如下:用C风格在Java中解析?,java,text-parsing,line-processing,Java,Text Parsing,Line Processing,我不熟悉java文本解析,我想知道当每行的格式已知时,解析文件的最佳方式是什么 我有一个文件,每行的格式如下: public static void main(String args[]) { try { // Open the file that is the first // command line parameter FileInputStream fstream = new FileInputStream("textfile.tx
public static void main(String args[]) {
try {
// Open the file that is the first
// command line parameter
FileInputStream fstream = new FileInputStream("textfile.txt");
// Get the object of DataInputStream
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
// Read File Line By Line
while ((strLine = br.readLine()) != null) {
// Print the content on the console
System.out.println(strLine);
}
// Close the input stream
in.close();
} catch (Exception e) {// Catch exception if any
System.err.println("Error: " + e.getMessage());
}
}
Int;双弦;双弦;双弦;双弦;双弦
请注意字符串double如何作为一对,用逗号分隔,每对用分号分隔
举几个例子:
1;art,0.1;computer,0.5;programming,0.6;java,0.7;unix,0.3
2;291,0.8;database,0.6;computer,0.2;java,0.9;undegraduate,0.7
3;coffee,0.5;colombia,0.2;java,0.1;export,0.4;import,0.5
提前感谢:)对于初学者,您可以使用该课程:
一个简单的文本扫描器,可以使用正则表达式解析原语类型和字符串
首先,您可以使用该类:
一个简单的文本扫描器,可以使用正则表达式解析原语类型和字符串
如果您确实在尝试进行“C”式解析,那么包含为“next”字段累积的字符的缓冲区在哪里?哪里是检查字段分隔符是否已读取的检查,哪里是读取行尾/字段分隔符后将当前字段刷新为正确数据结构的代码 Java中的逐字符读取循环如下所示
int readChar = 0;
while ((readChar = in.read()) != -1) {
// do something with the new readChar.
}
如果您确实在尝试进行“C”式解析,那么包含为“next”字段累积的字符的缓冲区在哪里?哪里是检查字段分隔符是否已读取的检查,哪里是读取行尾/字段分隔符后将当前字段刷新为正确数据结构的代码 Java中的逐字符读取循环如下所示
int readChar = 0;
while ((readChar = in.read()) != -1) {
// do something with the new readChar.
}
您可以提供一个模式并使用
String input=“fish1-1 fish2-2”;
java.util.Scanner s=新的java.util.Scanner(输入);
s、 findInLine(“(\\d+)”;
java.util.regex.MatchResult=s.match();
对于(inti=1;i您可以提供一个模式并使用
String input=“fish1-1 fish2-2”;
java.util.Scanner s=新的java.util.Scanner(输入);
s、 findInLine(“(\\d+)”;
java.util.regex.MatchResult=s.match();
对于(int i=1;i