Glad it worked, or mostly worked. I am not sure why you would get two lines right before the final paragraph... On 6/28/10, Gilbert Neiva <gneiva@xxxxxxx> wrote: > Hi Alex. I just found out that the output file doesn't need two lines above > the last paragraph. As a result I made the following if and else if > statements. > > if (inputString.length() < 1) > { > outFile.print("\n"); > } > else if (inputString.length() > 0) > { > inputString = blanks+inputString; > } > > When I checked the outfile.d2 file, the last paragraph still had two lines > above it, but at least the last paragraph was properly indented. Here is my > new 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.print("\n"); > } > else if (inputString.length() > 0) > { > inputString = blanks+inputString; > } > 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 8:30 PM > 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 > > __________ > 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