Hi, I've marked my comments off with "// me:". while (inFile.hasNextLine()) { inputString = inFile.nextLine(); if (inputString.length() < 1) { outFile.println("\n"); // me: this will advance the scanner by a line. Try // inputString = blanks + inputString ; // instead to avoid advancing the scanner. inputString = blanks+inFile.nextLine(); } outFile.println(inputString); // Printing line of text to file } Btw, stylistically, people usually place comments before the referred to line of code. On 6/28/10, Joseph Lee <joseph.lee22590@xxxxxxxxx> wrote: > Hi, > Of course - a NULL value would mean invalid data... I guess that would be > the case for Java - in C++, it would be while (!= iifstreamobject.eof()). > Cheers, > Joseph > > -----Original Message----- > From: programmingblind-bounce@xxxxxxxxxxxxx > [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Alex Hall > Sent: Monday, June 28, 2010 7:56 PM > To: programmingblind@xxxxxxxxxxxxx > Subject: Re: Java Delemma > > I seem to remember eof not being so easy to search for. That is why > checking that inFile.hasNext()!=null is usually the way to do it. > Correct me if I am wrong. > > On 6/28/10, Joseph Lee <joseph.lee22590@xxxxxxxxx> wrote: >> Hi Alex, >> Can't he check for eof (end of file) to really make sure that the routine >> does not insert a new line? If that's the case, then a while loop (or >> similar in Java) with the condition of not eof could be used >> (hypothetically). >> Cheers, >> Joseph >> >> -----Original Message----- >> From: programmingblind-bounce@xxxxxxxxxxxxx >> [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Alex Hall >> Sent: Monday, June 28, 2010 7:30 PM >> To: programmingblind@xxxxxxxxxxxxx >> Subject: Re: Java Delemma >> >> And the problem is that the final paragraph does not get the indent... >> What if you changed the if statement to something like this: >> if (inputString.length() < 1) >> { >> outFile.println("\n"); >> inputString = blanks+inputString; >> } >> >> I say this because, and I could be wrong here, each call to a file >> object's nextLine() method moves you down a line in the file, as >> though you had pressed the down arrow (assuming the arrows moved you >> by full lines, not just as many words as are on one line of a >> monitor). When you assign inputString to inFile.nextLine(), you press >> this hypothetical down arrow. Then, when you assign inputString to >> blanks+inFile.nextLine(), you are pressing the arrow again, so the >> line may not be correct. I am not sure if that will do it, but it is >> the only thing I see. Someone on the list will likely be able to >> direct you better. >> >> >> On 6/28/10, Gilbert Neiva <gneiva@xxxxxxx> wrote: >>> Here is the entire class. >>> >>> import java.io.*; // importing input.output classes >>> import java.util.Scanner; >>> >>> public class History >>> { >>> static Scanner inFile; // Object that will read from file >>> static PrintWriter outFile; // object that will print to file >>> >>> static void printHistory() throws IOException >>> // Start of void method >>> { >>> String inputString; // String for line of text in file >>> final String blanks = " "; >>> // Five blanks inserted at beginning of paragraphs >>> inFile = new Scanner(new FileReader("history.d1")); >>> // Instantiating new scanner and new filereader object with >>> // history.d1 as argument >>> outFile = new PrintWriter(new FileWriter("history.d2")); >>> // Instantiating new printWriter object >>> // It will be used to write to a file >>> inputString = blanks+inFile.nextLine(); >>> outFile.println(inputString); >>> // Printing 5 spaces plus line >>> // to file >>> >>> while (inFile.hasNextLine()) >>> { >>> inputString = inFile.nextLine(); >>> >>> if (inputString.length() < 1) >>> { >>> outFile.println("\n"); >>> inputString = blanks+inFile.nextLine(); >>> } >>> outFile.println(inputString); >>> // Printing line of text to file >>> } >>> inFile.close(); >>> outFile.close(); >>> // Closing files >>> } >>> >>> public static void main(String[] args) throws IOException >>> { >>> printHistory(); >>> // Calling method printHistory() >>> } >>> } // End of class >>> >>> Gilbert Neiva >>> >>> ----- Original Message ----- >>> From: "Alex Hall" <mehgcap@xxxxxxxxx> >>> To: <programmingblind@xxxxxxxxxxxxx> >>> Sent: Monday, June 28, 2010 6:58 PM >>> Subject: Re: Java Delemma >>> >>> >>>>I don't follow. Could you post the entire loop so we can see what is >>>> going on? Also, comments are welcomed! Remember that in Java, two >>>> slashes mean that the rest of the line is a comment, so you could put >>>> this in your file: >>>> if(1a==0){ //check that a is really 0 >>>> System.out.print("var a is 0!"); //tell user >>>> }//end if >>>> >>>> On 6/28/10, Gilbert Neiva <gneiva@xxxxxxx> wrote: >>>>> I succeeded in making my application that inputs a file, prints 5 > spaces >>>>> at >>>>> the beginning of a paragraph and prints to a file with the new changes. >>>>> Now >>>>> I have another problem. The last paragraph of the input file has two >>>>> blank >>>>> lines above it. When my application runs and creates the output file, >> the >>>>> last paragraph of the output file has two lines above it, but the >>>>> paragraph >>>>> is not indented. The blank line just above the paragraph has 5 space >>>>> characters in it. The rest of the output file is fine. The paragraphs > in >>>>> the >>>>> output file that have no indent issues have one blank line above them >>>>> which >>>>> is what I want. I made an if statement inside a while statement to >> detect >>>>> the blank lines and print an extra blank line to the output file as > well >>>>> as >>>>> store the new paragraph indented 5 spaces in a string varriable. The if >>>>> statement is as follows. >>>>> >>>>> if inputString.length() < 1 >>>>> { >>>>> outFile.println("\n"); >>>>> inputString = inFile.nextLine(); >>>>> } >>>>> >>>>> What do I do to correct my last paragraph so it is indented properly, >> but >>>>> >>>>> I >>>>> still have two blank lines above it? >>>>> >>>>> Gilbert Neiva >>>>> >>>>> ----- Original Message ----- >>>>> From: "Alex Hall" <mehgcap@xxxxxxxxx> >>>>> To: <programmingblind@xxxxxxxxxxxxx> >>>>> Sent: Monday, June 28, 2010 1:36 PM >>>>> Subject: Re: Java Delemma >>>>> >>>>> >>>>>> You want to use getNext(), not hasNext(). HasNext is a test to see if >>>>>> any lines remain; you might say something like >>>>>> while(file.hasNextLine()){ >>>>>> txt+=file.getNextLine(); >>>>>> } >>>>>> Please note that it has been some time since I did Java, so the method >>>>>> may not be called getNext, but it is something similar which you can >>>>>> find in the docs. >>>>>> The error is because hasNext returns true or false (a boolean) where >>>>>> getNext returns an actual string, which is what you want. >>>>>> >>>>>> >>>>>> On 6/28/10, Gilbert Neiva <gneiva@xxxxxxx> wrote: >>>>>>> I'm trying to write an application which takes an input file, and > adds >>>>>>> 5 >>>>>>> blank spaces at the beginning of each paragraph. Then the application >>>>>>> is >>>>>>> to >>>>>>> write to an output file with the new changes. The application will >>>>>>> detect >>>>>>> the beginning of a new paragraph because there is a blank line before >>>>>>> it. >>>>>>> >>>>>>> I >>>>>>> test for the blank using the following if statement. >>>>>>> >>>>>>> if inputString.length() < 1 >>>>>>> { >>>>>>> inputString = blanks+inFile.hasNextLine(); >>>>>>> } >>>>>>> >>>>>>> When I tried to compile the application using the javac program, I > get >>>>>>> the >>>>>>> following error. >>>>>>> >>>>>>> History.java:23: incompatible types >>>>>>> found : boolean >>>>>>> required: java.lang.String >>>>>>> inputString = inFile.hasNextLine(); >>>>>>> ^ >>>>>>> 1 error >>>>>>> >>>>>>> The source code for the application is below. >>>>>>> >>>>>>> import java.io.*; // importing input.output classes >>>>>>> >>>>>>> import java.util.Scanner; >>>>>>> >>>>>>> >>>>>>> public class History >>>>>>> >>>>>>> { >>>>>>> >>>>>>> public static Scanner inFile; >>>>>>> >>>>>>> public static PrintWriter outFile; >>>>>>> >>>>>>> >>>>>>> public static void main(String[] args) >>>>>>> >>>>>>> { >>>>>>> >>>>>>> String inputString; // Input string from a line in file >>>>>>> >>>>>>> final String blanks = " "; >>>>>>> >>>>>>> // Five blanks inserted at beginning of each paragraph >>>>>>> >>>>>>> inFile = new Scanner(new FileReader("history.d1")); >>>>>>> >>>>>>> // Instantiating new scanner and new filereader object with >>>>>>> >>>>>>> // history.d1 as argument >>>>>>> >>>>>>> outFile = new PrintWriter(new FileWriter("history.d2")); >>>>>>> >>>>>>> // Instantiating new printWriter object >>>>>>> >>>>>>> // It will be used to write to a file >>>>>>> >>>>>>> inputString = blanks+inFile.hasNextLine(); >>>>>>> >>>>>>> outFile.println(inputString); >>>>>>> >>>>>>> >>>>>>> while (inFile.hasNextLine()) >>>>>>> >>>>>>> { >>>>>>> >>>>>>> inputString = inFile.hasNextLine(); >>>>>>> >>>>>>> >>>>>>> if (inputString.length() < 1) >>>>>>> >>>>>>> { >>>>>>> >>>>>>> inputString = blanks+inFile.hasNextLine(); >>>>>>> >>>>>>> } >>>>>>> >>>>>>> outFile.println(inputString); >>>>>>> >>>>>>> } >>>>>>> >>>>>>> inFile.close(); >>>>>>> >>>>>>> outFile.close(); >>>>>>> >>>>>>> } >>>>>>> >>>>>>> } >>>>>>> >>>>>>> >>>>>>> >>>>>>> What am I doing wrong? >>>>>>> >>>>>>> >>>>>>> >>>>>>> Gilbert Neiva >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Have a great day, >>>>>> Alex (msg sent from GMail website) >>>>>> mehgcap@xxxxxxxxx; http://www.facebook.com/mehgcap >>>>>> __________ >>>>>> View the list's information and change your settings at >>>>>> //www.freelists.org/list/programmingblind >>>>>> >>>>> >>>>> __________ >>>>> View the list's information and change your settings at >>>>> //www.freelists.org/list/programmingblind >>>>> >>>>> >>>> >>>> >>>> -- >>>> Have a great day, >>>> Alex (msg sent from GMail website) >>>> mehgcap@xxxxxxxxx; http://www.facebook.com/mehgcap >>>> __________ >>>> View the list's information and change your settings at >>>> //www.freelists.org/list/programmingblind >>>> >>>> >>> >>> __________ >>> View the list's information and change your settings at >>> //www.freelists.org/list/programmingblind >>> >>> >> >> >> -- >> Have a great day, >> Alex (msg sent from GMail website) >> mehgcap@xxxxxxxxx; http://www.facebook.com/mehgcap >> __________ >> View the list's information and change your settings at >> //www.freelists.org/list/programmingblind >> >> No virus found in this incoming message. >> Checked by AVG - www.avg.com >> Version: 8.5.439 / Virus Database: 271.1.1/2968 - Release Date: 06/28/10 >> 18:35:00 >> >> __________ >> View the list's information and change your settings at >> //www.freelists.org/list/programmingblind >> >> > > > -- > Have a great day, > Alex (msg sent from GMail website) > mehgcap@xxxxxxxxx; http://www.facebook.com/mehgcap > __________ > View the list's information and change your settings at > //www.freelists.org/list/programmingblind > > No virus found in this incoming message. > Checked by AVG - www.avg.com > Version: 8.5.439 / Virus Database: 271.1.1/2968 - Release Date: 06/28/10 > 18:35:00 > > __________ > View the list's information and change your settings at > //www.freelists.org/list/programmingblind > > __________ View the list's information and change your settings at //www.freelists.org/list/programmingblind