我的 java 项目有问题。我通过搜索和阅读完成了我的作业,但我似乎找不到我需要的东西。我需要做的是每次单击按钮时,从文本文件中读取一行并将其输入到文本字段中。我认为一旦我对第一部分有了想法,后一部分就不难了。我对如何在点击时从整个文件中读取有一个想法,但每次都一行一行地让我陷入困境。
我正在使用这个位来查看每行上的数据是否是我正在寻找的:
private boolean validRecord( String line )
{
/** Local Variables **/
boolean validRecord = true; // Assumes Good Data
int counter = 0;
for ( int i = 0; i < line; i++ )
{
if ( line.charAt( i ).isDigit )
counter++;
if ( !line.charAt( i ).isDigit )
validRecord = false;
}
if ( counter != fieldArray.length )
validRecord = false;
return validRecord;
}
如果有人可以提供帮助,我将不胜感激,我确信我遗漏了一些明显的东西,因为这是我第一次处理从文件中读取的问题。谢谢。为了进一步澄清,我想在第一次单击时阅读第一行,每次单击时都阅读下一行,直到文件一直被搜索到为止。
public void fileReader( String inputFile )
{
/** Local Constants **/
final String ERROR = "File Error!";
/** Local Variables **/
BufferedReader inStream = null;
Scanner in;
String line;
if ( isReadableFile( inputFile ) )
{
try
{
in = new Scanner( new File( inputFile ) );
line = in.next();
while ( in.hasNextLine() )
{
line = in.nextLine();
int j = 0;
if ( validRecord( line ) )
{
for ( int i = 0; i < line.length(); i++ )
{
if ( Character.isDigit( line.charAt( i ) ) )
{
fieldArray[ j ].setText( line.charAt( i ) +
BLANK );
j++;
}
}
}
else
System.out.println( "Invalid Record" );
}
in.close();
}
catch ( Exception e )
{
System.out.println( ERROR );
}
}
else
System.out.println( "File not readable" );
}
public void actionPerformed( ActionEvent e )
{
if ( e.getSource() == btnClear )
clearTextFields();
else if ( e.getSource() == btnExit )
System.exit( 0 );
else if ( e.getSource() == btnCheck )
{
testMagicSquare();
jtaOutput.setLineWrap ( true );
}
else if ( e.getSource() == btnFileInput )
fileReader( jtfFileInput.getText() );