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