Re: Easy way to read the contants of a folder/directory and output contents to file?
"Thee Chicago Wolf (MVP)" <.@.> writes:
output the contents of the folder to a file
public class Main
{ public static void main( final java.lang.String[] args )
throws java.lang.Throwable
{ final java.io.PrintWriter out = new java.io.PrintWriter( "out.txt" );
for( final java.io.File file : new java.io.File( "." ).listFiles() )
out.println( file.getName() ); out.close(); }}
I re-used some code I wrote a few months ago for reading from and
writing to a file and I wound up doing it this way.
FileWriter folderOutput = new FileWriter("filelist.txt");
PrintWriter outFile = new PrintWriter(folderOutput);
for(int i = 0; i < list.length; i++)
{
outFile.write(String.valueOf(list[i]+"\n"));
}
folderOutput.close();
It was the for loop that I needed to add so it would add the file
names line by line and the "\n" to put each filename on a new line.
So now that I have a filelist.txt with each file listed on it's own
line, is it realistically somewhat the reverse of the output process
to read in each filename line by line? As I mentioned above, I did
write some code to read from a .txt file that only contained *one*
line and it was an integer. That wasn't too big a deal to work out.
But if I want to read each filename in the .txt file line by line like
if it were an MP3 playlist, is the gist basically to have some kind of
for loop or while loop to iterate through the file, read the filename
into some String variable, and have the condition in the loop stating
something like below?
Scanner in = new Scanner(new File("filelist.txt"));
String temp = in.nextLine();
while (in.nextLine(temp != null))
{
//some code and filereading stuff goes here
}
Thanks much for showing me an example above. What I actually
discovered when using outFile.println is that the file output would
look like:
file1.txt
<space>
file2.txt
<space>
file3.txt
<space>
<space>
but when using outFile.write, I got:
file1.txt
file2.txt
file3.txt
<space>
A lot cleaner. In my original code, I used outFile.write. Just for my
own knowledge, any idea why outFile.println versus outFIle.write would
make the output look different?
cheers!
- Thee Chicago Wolf [MVP]