如果java文件中有多个(\t),则StringTokenizer从下一行开始
我正在基于如果java文件中有多个(\t),则StringTokenizer从下一行开始,java,file,stringtokenizer,Java,File,Stringtokenizer,我正在基于\t分析一个文件数据,如果找到多个\t从下一行开始分析,并从0开始arraylist单词 public static void readFile() throws IOException { String line; ArrayList<String> words = new ArrayList<String>(); try { BufferedReader inFile = new BufferedReader (new FileRead
\t
分析一个文件数据,如果找到多个\t
从下一行开始分析,并从0开始arraylist单词
public static void readFile() throws IOException {
String line;
ArrayList<String> words = new ArrayList<String>();
try {
BufferedReader inFile = new BufferedReader (new FileReader ("/weather.txt"));
while ((line = inFile.readLine()) != null) {
StringTokenizer token= new StringTokenizer(line,"\t");
while (token.hasMoreTokens()) {
words.add(token.nextToken());
}
/*
* function to print the values
*/
getMetadataTriple(words);
}
}
public static void readFile()引发IOException{
弦线;
ArrayList words=新的ArrayList();
试一试{
BufferedReader infle=new BufferedReader(new FileReader(“/weather.txt”);
而((line=infle.readLine())!=null){
StringTokenizer令牌=新的StringTokenizer(行“\t”);
而(token.hasMoreTokens()){
words.add(token.nextToken());
}
/*
*函数打印值
*/
getMetadataTriple(单词);
}
}
尝试以下正则表达式解决方案:
public static void readFile() throws IOException
{
String line;
ArrayList<String> words = new ArrayList<String>();
try
{
BufferedReader inFile = new BufferedReader(new FileReader("weather.txt"));
while ((line = inFile.readLine()) != null)
{
String[] temp = line.split("\\t");
for (String s : temp)
{
if(!s.isEmpty())
{
words.add(s);
}
else //another \t
{
words.clear();
break;
}
}
/*
* function to print the values
*/
getMetadataTriple(words);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
public static void readFile()引发IOException
{
弦线;
ArrayList words=新的ArrayList();
尝试
{
BufferedReader infle=新的BufferedReader(新文件阅读器(“weather.txt”);
而((line=infle.readLine())!=null)
{
字符串[]温度=行分割(\\t“);
用于(字符串s:temp)
{
如果(!s.isEmpty())
{
字。加上(s);
}
else//另一个\t
{
单词。清除();
打破
}
}
/*
*函数打印值
*/
getMetadataTriple(单词);
}
}
捕获(例外e)
{
e、 printStackTrace();
}
}
来自:StringTokenizer是一个遗留类,出于兼容性原因保留该类,尽管新代码中不鼓励使用该类。建议寻求此功能的任何人使用String的拆分方法或java.util.regex包。