gpt4 book ai didi

java - 使用缓冲阅读器在java中读取文本文件时获取空值

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:51:09 26 4
gpt4 key购买 nike

我在用 java 读取文本文件并将其分配给数组时遇到问题。该程序正在运行,但我得到空。我尝试将代码更改为最简单的代码,就像您在下面看到的那样。因为这个应该真正循环遍历文本文件。但我这样做是为了很容易看出问题出在哪里。但是问题是不知道为什么还是输出null。

该文件肯定在我指定的目录中,因为当我使用这个方法检查它时,内置方法存在并返回 true:

if(ofile.exists()==true){
System.out.println("exist");
}else{
System.out.println("not exist");
}

我需要帮助,确定这背后的错误,为什么它返回 null。

public static void main(String args[]){

String[] eq=new String[50];
String[]ea=new String[50];
String[]eb=new String[50];
String[] ec=new String[50];
String[]ed=new String[50];
char[] ans=new char[50];
String strtemp;
File ofile= new File("J:\\questions.txt");
BufferedInputStream bis= null;
FileInputStream fis= null;
DataInputStream dis=null;




int ii=0;
int score=0;



System.out.println(eq[1] + "\n" + ea[1] + "\n" + eb[1] + "\n" + ec[1] + "\n" + ed[1] + "\n" + "\n" + "Answer: ");
String strans=x.nextLine();
char y=strans.charAt(0);
if(y==ans[1]){
score++;
}else{

}


try{
fis=new FileInputStream(ofile);
bis=new BufferedInputStream(fis);
dis=new DataInputStream(bis);

while(dis.available()!=0){

eq[1]=dis.readLine(); ea[1]=dis.readLine();
eb[1]=dis.readLine(); ec[1]=dis.readLine();
ed[1]=dis.readLine(); strtemp=dis.readLine();
ans[1]=strtemp.charAt(0);

}

bis.close();
dis.close();
fis.close();


}catch(FileNotFoundException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();

}


}

最佳答案

以下是使用 BufferedReader 在 Java 中读取文本文件的方法:



 BufferedReader reader = null;
尝试 {
reader = new BufferedReader( new FileReader( "J:\\questions.txt") );
字符串行=空;
做 {
line = reader.readLine();
如果(线!=空){
//用线做点什么
}
} while( line != null );
} catch (异常 e){
e.printStackTrace();
} 最后 {
如果(读者!=空)
尝试 {
读者.close();
} catch (IOException e){
}
}

关于java - 使用缓冲阅读器在java中读取文本文件时获取空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3855902/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com