当前位置:编程学习 > JAVA >>

[菜鸟求助]关于文件读取的问题

读取一个txt文件,奇数行放在一个数组中,偶数行放在另一个数组中。
比如:
a
art.一(个);每一(个)
abandon
vt.遗弃;放弃;放纵(自己)
ability
n.能力,才能
able
a.有的能力;有本事的,能干的

word[0]=a;word[1]=abandon;word[2]=ability......
meaning[0]=art.一(个);每一(个);meaning[1]=vt.遗弃;放弃;放纵(自己);......

如何实现,新手卡在这好久了。 --------------------编程问答-------------------- BufferedReader br = new BufferedReader(new FileReader("filename"));
String thisLine;
int linenum;
while((thisLine = br.readLine())!=null) {
    linenum++;
    //do operation in terms of linenum
} --------------------编程问答--------------------
引用 1 楼 dracularking 的回复:
BufferedReader br = new BufferedReader(new FileReader("filename"));
String thisLine;
int linenum;
while((thisLine = br.readLine())!=null) {
    linenum++;
    //do operation in terms of linenum
}


怎么实现奇数行放在一个数组中,偶数行放在另一个数组中。 --------------------编程问答--------------------
import java.io.FileReader;
import java.io.IOException;
import java.io.LineNumberReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Demo
{
public static void main(String[] args)
{
String fileName = "C:\\Users\\Administrator\\Desktop\\test.txt";

LineNumberReader reader = null;
String[] word = null;
String[] meaning = null;

List<String> wordList = new ArrayList<String>();
List<String> meaningList = new ArrayList<String>();
try
{
reader = new LineNumberReader(new FileReader(fileName));
String line  = null;
while(null != (line = reader.readLine()))
{
int lineNum = reader.getLineNumber();
if(lineNum % 2 == 0)
meaningList.add(line);
else
wordList.add(line);
}
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
if (null != reader)
reader.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
word = new String[wordList.size()];
meaning = new String[meaningList.size()];

word = wordList.toArray(word);
meaning = meaningList.toArray(meaning);

System.out.println("word:");
System.out.println(Arrays.toString(word));
System.out.println("meaning:");
System.out.println(Arrays.toString(meaning));
}
}

运行结果:
word:
[a, abandon, ability, able]
meaning:
[art.一(个);每一(个), vt.遗弃;放弃;放纵(自己), n.能力,才能, a.有的能力;有本事的,能干的]
--------------------编程问答--------------------
引用 3 楼 duxingzhe0311 的回复:
import java.io.FileReader;
import java.io.IOException;
import java.io.LineNumberReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Demo
{
public static void main(String[] args)
{
String fileName = "C:\\Users\\Administrator\\Desktop\\test.txt";

LineNumberReader reader = null;
String[] word = null;
String[] meaning = null;

List<String> wordList = new ArrayList<String>();
List<String> meaningList = new ArrayList<String>();
try
{
reader = new LineNumberReader(new FileReader(fileName));
String line  = null;
while(null != (line = reader.readLine()))
{
int lineNum = reader.getLineNumber();
if(lineNum % 2 == 0)
meaningList.add(line);
else
wordList.add(line);
}
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
if (null != reader)
reader.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
word = new String[wordList.size()];
meaning = new String[meaningList.size()];

word = wordList.toArray(word);
meaning = meaningList.toArray(meaning);

System.out.println("word:");
System.out.println(Arrays.toString(word));
System.out.println("meaning:");
System.out.println(Arrays.toString(meaning));
}
}

运行结果:
word:
[a, abandon, ability, able]
meaning:
[art.一(个);每一(个), vt.遗弃;放弃;放纵(自己), n.能力,才能, a.有的能力;有本事的,能干的]


怎么只输出word[1]和meaning[1]? --------------------编程问答--------------------
引用 2 楼 wangxuewan123 的回复:
Quote: 引用 1 楼 dracularking 的回复:

BufferedReader br = new BufferedReader(new FileReader("filename"));
String thisLine;
int linenum;
while((thisLine = br.readLine())!=null) {
    linenum++;
    //do operation in terms of linenum
}


怎么实现奇数行放在一个数组中,偶数行放在另一个数组中。

判断linenum啊 --------------------编程问答--------------------
引用 4 楼 wangxuewan123 的回复:
Quote: 引用 3 楼 duxingzhe0311 的回复:

import java.io.FileReader;
import java.io.IOException;
import java.io.LineNumberReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Demo
{
public static void main(String[] args)
{
String fileName = "C:\\Users\\Administrator\\Desktop\\test.txt";

LineNumberReader reader = null;
String[] word = null;
String[] meaning = null;

List<String> wordList = new ArrayList<String>();
List<String> meaningList = new ArrayList<String>();
try
{
reader = new LineNumberReader(new FileReader(fileName));
String line  = null;
while(null != (line = reader.readLine()))
{
int lineNum = reader.getLineNumber();
if(lineNum % 2 == 0)
meaningList.add(line);
else
wordList.add(line);
}
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
if (null != reader)
reader.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
word = new String[wordList.size()];
meaning = new String[meaningList.size()];

word = wordList.toArray(word);
meaning = meaningList.toArray(meaning);

System.out.println("word:");
System.out.println(Arrays.toString(word));
System.out.println("meaning:");
System.out.println(Arrays.toString(meaning));
}
}

运行结果:
word:
[a, abandon, ability, able]
meaning:
[art.一(个);每一(个), vt.遗弃;放弃;放纵(自己), n.能力,才能, a.有的能力;有本事的,能干的]


怎么只输出word[1]和meaning[1]?


System.out.println(word[1]);
System.out.println(meaning[1]);
补充:Java ,  Java相关
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,