1 // inport needed classes from packages
  2
دددimport java.util.Scanner;
  3
دددimport java.io.*;
  4
  5
دصض×public class Lab6
  6
دد§{
  7
دد§دقكàpublic static void main (String [] args)throws IOException
  8
دد§دد§{
  9
دد§دد§
 10
دد§دد§// declarations of needed variables and objects
 11
دد§دد¨¹يدchar [ ] letters;                        // character array
 12
دد§دد¨¹يدString inputString;                      // input String
 13
دد§دد¨¹يدScanner fileScanner, keyboardScanner;    // file and keyboard Scanners
 14
دد§دد¨¹يدString inputFileName, outputFileName;    // input and output filenames
 15
دد§دد¨¹يدboolean inputFileFound;                  // boolean telling whether file found
 16
دد§دد¨¹يدint inputStringLength;                   // integer String length
 17
دد§دد¨¹يدFileWriter myFileWriter;                 // FileWriter  
 18
دد§دد¨¹يدBufferedWriter myBufferedWriter;         // BufferedWriter
 19
دد§دد¨¹يدPrintWriter    myPrintWriter;            // Print Writer
 20
دد§دد§        
 21
دد§دد§// initialize needed variables
 22
دد§دد¨¹¹دinputFileFound = false;
 23
دد§دد§
 24
دد§دد§
 25
دد§دد§// instantiate keyboardScanner
 26
دد§دد¨¹¹دkeyboardScanner = new Scanner (System.in);
 27
دد§دد§
 28
دد§دد§// get filenames from user
 29
دد§دد¨¹¹دSystem.out.println (" please enter the name of your input data file ");
 30
دد§دد¨¹¹دinputFileName = keyboardScanner.nextLine();
 31
دد§دد§     
 32
دد§دد¨¹¹دSystem.out.println (" please enter the name of your output data file ");
 33
دد§دد¨¹¹دoutputFileName = keyboardScanner.nextLine();
 34
دد§دد§
 35
دد§دد§// instantiate input file and keep trying until successful
 36
دد§دد¨¹¹®do
 37
دد§دد§دد7¹¹´try
 38
دد§دد§دد5دد§{
 39
دد§دد§دد5دد¨¹¹دfileScanner = new Scanner (new File (inputFileName));
 40
دد§دد§دد5دد¨¹¹دinputFileFound = true;
 41
دد§دد§دد5دد§}
 42
دد§دد§دد5دد§دًîىcatch (FileNotFoundException fnfe)
 43
دد§دد§دد5دد§دد§{
 44
دد§دد§دد5دد§دد¨¹¹دfileScanner = new Scanner (new File ("squib.txt"));
 45
دد§دد§دد5دد§دد¨¹¹دSystem.out.println (" your file could not be found ");
 46
دد§دد§دد5دد§دد¨¹¹دSystem.out.println (" please enter another name ");
 47
دد§دد§دد5دد§دد¨¹¹دinputFileName = keyboardScanner.nextLine();
 48
دد§دد§دد5دد©دد©}
 49
دد§دد§ددٍwhile (!inputFileFound);
 50
دد§دد§
 51
دد§دد§   // get data from file
 52
دد§دد¨¹¹دinputString = fileScanner.nextLine();
 53
دد§دد§
 54
دد§دد§// instantiate Objects needed to output to a  file   
 55
دد§دد¨¹¹دmyFileWriter = new FileWriter (outputFileName);
 56
دد§دد¨¹¹دmyBufferedWriter = new BufferedWriter (myFileWriter);
 57
دد§دد¨¹¹دmyPrintWriter = new PrintWriter (myBufferedWriter);
 58
دد§دد§     
 59
دد§دد§// echo the input String to the screen & to your output file
 60
دد§دد¨¹¹دSystem.out.println (" the input String was:    " + inputString);
 61
دد§دد¨¹¹دmyPrintWriter.println (" the input String was:   " + inputString);
 62
دد§دد§
 63
دد§دد§//  determine input String's length & output it to screen & output file
 64
دد§دد¨¹¹دinputStringLength = inputString.length();
 65
دد§دد¨¹¹دSystem.out.println
 66
دد§دد§دددددد(" the length of the input string is " + inputStringLength);
 67
دد§دد¨¹¹دmyPrintWriter.println
 68
دد§دد§دددددد(" the length of the input string is " + inputStringLength);
 69
دد§دد§
 70
دد§دد§/* 
 71
دد§دد§    output the characters in the input String to file & screen, 1 per line
 72
دد§دد§    preeceded by the following statement:
 73
دد§دد§    Here are the input file characters printed using a standard FOR statement
 74
دد§دد§*/
 75
دد§دد§ 
 76
دد§دد§     // print the header statements
 77
دد§دد¨¹¹دSystem.out.println
 78
دد§دد§دددددد("  Here are the input file characters printed using a standard FOR statement ");
 79
دد§دد¨¹¹دmyPrintWriter.println
 80
دد§دد§دددددد("  Here are the input file characters printed using a standard FOR statement ");
 81
دد§دد§
 82
دد§دد§    // print the characters in the String
 83
دد§دد¨¹¹±for (int i = 0; i < inputStringLength; i++)
 84
دد§دد§دد5{
 85
دد§دد§دد7¹¹دSystem.out.println (inputString.charAt(i));
 86
دد§دد§دد7¹¹دmyPrintWriter.println (inputString.charAt(i));
 87
دد§دد§دد°}
 88
دد§دد§
 89
دد§دد§// print a blank line to the screen and to the file
 90
دد§دد¨¹¹دSystem.out.println ();
 91
دد§دد¨¹¹دmyPrintWriter.println ();
 92
دد§دد§
 93
دد§دد§// transform the inputString into an array using the String Method
 94
دد§دد¨¹¹دletters = inputString.toCharArray();
 95
دد§دد§
 96
دد§دد§/* using the alternate form of a FOR loop described on pages 249, shown on page 251 and
 97
دد§دد§   on page 384  print the letters in the array on a single line
 98
دد§دد§   preceded by the following statement
 99
دد§دد§   Here are the character in the array printed using the foreach loop form
100
دد§دد§*/
101
دد§دد§
102
دد§دد§   // print the header statements  
103
دد§دد¨¹¹دSystem.out.print
104
دد§دد§دددددد("  Here are the input file characters printed using a foreach statement:  ");
105
دد§دد¨¹¹دmyPrintWriter.print
106
دد§دد§دددددد("  Here are the input file characters printed using a foreach statement: ");
107
دد§دد§
108
دد§دد§   // print the characters in the array using the foreach loop form
109
دد§دد¨¹¹±for ( char theLetters : letters)
110
دد§دد§دد5{
111
دد§دد§دد7¹¹دSystem.out.print (theLetters);
112
دد§دد§دد7¹¹دmyPrintWriter.print (theLetters);
113
دد§دد§دد°}
114
دد§دد§
115
دد§دد§// print two blank lines
116
دد§دد¨¹¹دSystem.out.println();
117
دد§دد§
118
دد§دد§// close the output file
119
دد§دد¨¹¹دmyPrintWriter.close();
120
دد§دد§
121
دد§دد§// print out the names of the input and output files
122
دد§دد¨¹¹دSystem.out.println ( " The input file used was : " + inputFileName);
123
دد§دد¨¹¹دSystem.out.println ( " The output file created was : " + outputFileName);
124
دد§دد©}
125
دد©}
126    
127