Re: file reader returning null when file is not null content
On May 2, 6:42 pm, markspace <nos...@nowhere.com> wrote:
jason wrote:
hello,
any assistance would be largely appreciated.
File FileChecker=new =
File("/Users/Jason/
Desktop/ad_log.txt");
This works for me:
package test;
import java.io.File;
import java.util.Scanner;
public class FileTest {
public static void main( String[] args )
throws Exception
{
System.out.println( new File(".").getAbsolutePath() );
for( String s : args ) {
getContents( new File(s) );
}
getContents( new File( "src/test/FileTest.java" ) );
}
private static void getContents( File f )
throws Exception
{
Scanner scanner = new Scanner( f );
while( scanner.hasNextLine() ) {
System.out.println( scanner.nextLine() );
}
}
}
markspace,
thank you for responding. i've realized a bit why my issue is so
annoying.
i am using the java desktop application developer in NetBeans.
When I use the following program:
[CODE]
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package readtextfileexample;
/**
*
* @author amandaabdou
*/
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileNotFoundException;
import java.io.IOException;
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String A;
A=FileReader("/Users/"+System.getProperty("user.name")+"/
Desktop/ad_log.txt");
System.out.println(A);
}
public static String FileReader(String args){
File file = new File(args);
StringBuffer contents = new StringBuffer();
BufferedReader reader = null;
String For_Output="";
try
{
reader = new BufferedReader(new FileReader(file));
String text = null;
// repeat until all lines is read
while ((text = reader.readLine()) != null)
{
contents.append(text)
.append(System.getProperty(
"line.separator"));
For_Output+=text;
}
} catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
} finally
{
try
{
if (reader != null)
{
reader.close();
}
} catch (IOException e)
{
e.printStackTrace();
}
}
// show file contents here
return For_Output;
}
}
[/CODE]
in a java application in netbeans, it runs perfectly and does exactly
what i want.
if i attempt to migrate the method of FileReader to my basic desktop
application it no longer works.
this desktop application is using the exact same library imports and
is using identical code aside from one aspect. my FileReader method is
now called:
[CODE]
private String FileReader(String args)
[/CODE]
when calling in this context i do not get anyone of my indicating
System prints to execute,
ie:
System.out.println("Made it to line 101"); //etc
is there a larger underlying issue i am missing?
this is my first desktop application, but i do not see why there
should be such a discrepancy.
you are correct, the code does work, both proposed by you and as noted
just now by me.
unfortunately when i migrate this code to my desktop application it
fails to read the file.
any assistance would be largely appreciated.