I have used FileInputStream, FileOutputStream, DataInputStream and DataoutputStream classes to write the code, which is given below:
import java.io.*;
class Demo
{
public static void main(String args[]) throws IOException
{
File f1=new File("A.txt");
File f2=new File("Temp.txt");
if(!f1.exists())
{
System.out.print(" file doesn't exist.");
System.exit(0);
}
if(!f2.exists())
{
if(!f2.createNewFile())
{
System.exit(0);
}
}
FileInputStream fis=new FileInputStream(f1);
FileOutputStream fos=new FileOutputStream(f2);
DataInputStream dis=new DataInputStream(fis);
DataOutputStream dos=new DataOutputStream(fos);
char ch;
try
{
while(true)
{
ch=dis.readChar();
if(ch>=97 && ch<=122)
{
ch=(char)(ch-32);
}
dos.writeChar(ch);
}
}
catch(Exception e1)
{
fos.flush();
fis=new FileInputStream(f2);
fos=new FileOutputStream(f1);
dis=new DataInputStream(fis);
dos=new DataOutputStream(fos);
try
{
while(true)
{
ch=dis.readChar();
dos.writeChar(ch);
}
}
catch(Exception e2)
{
fos.flush();
}
finally
{
fis.close();
fos.close();
}
}
}
}
But it's not converting lower case to upper case alphabets. Can anybody tell me what's wrong in this code?